annotate man/xemacs-faq.texi @ 5940:c608d4b0b75e cygwin64 tip

rescue lost branch from 64bit.backup
author Henry Thompson <ht@markup.co.uk>
date Thu, 16 Dec 2021 18:48:58 +0000
parents d11efddf3617
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
1 \input texinfo.tex @c -*- mode: texinfo; coding: iso-2022-8 -*-
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @c %**start of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @setfilename ../info/xemacs-faq.info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 @settitle Frequently asked questions about XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 @setchapternewpage off
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 @c %**end of header
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 @finalout
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 @titlepage
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 @title XEmacs FAQ
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2006/05/16 15:36:16 $
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 @sp 1
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
12 @author Ben Wing <ben@@xemacs.org>
1869
11812ec0334c [xemacs-hg @ 2004-01-21 09:03:42 by stephent]
stephent
parents: 1738
diff changeset
13 @author Tony Rossini <rossini@@u.washington.edu>
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 @author Chuck Thompson <cthomp@@xemacs.org>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 @author Steve Baur <steve@@xemacs.org>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 @author Andreas Kaempf <andreas@@sccon.com>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 @author Christian Nyb@o{} <chr@@mediascience.no>
434
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
18 @author Sandra Wambold <wambold@@xemacs.org>
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 @page
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 @end titlepage
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 @ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 @dircategory XEmacs Editor
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 @direntry
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
25 * FAQ: (xemacs-faq). XEmacs FAQ.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 @end direntry
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 @end ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
29 @ignore
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
30 *****************************************
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
31 ***** To update the menus and nodes *****
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
32 *****************************************
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
33
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
34 First, the first argument to @node (the name itself) needs to be correct.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
35 Use a macro if necessary to update the @node names from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
36 @unnumberedsubsec commands. Also note that the command we're about to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
37 run will not correctly fix up the part of the menu to the right of a ::.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
38 It will leave existing text in place but not change anything. If you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
39 make a lot of changes and want to update this semi-automatically, use
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
40 M-x occur to pick out all @unnumberedsubsec lines then do some editing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
41 magic to coerce them into the right format and cut and paste as necessary:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
42
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
43 1. M-x occur @unnumberedsubsec
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
44 2. <select a rectangle including all text before the Q#.#.#>
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
45 3. C-x r t *<space>
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
46 4. go to the top and use the following macro to get the indentation right.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
47
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
48 (setq last-kbd-macro (read-kbd-macro
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
49 "C-s : RET : <right> M-x indent- to- column RET 14 RET <home> <down>"))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
50
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
51 5. Cut and paste the menus into the detailmenu at the top and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
52 individual menus at the top of the appropriate chapters. (#### I
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
53 wonder, does texinfo-master-menu generate the detailmenu from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
54 individual menus or vice-versa or neither?)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
55
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
56 Then,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
57
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
58 6. C-u C-c C-u m (C-u M-x texinfo-master-menu) will update the menus
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
59 and nodes. However, it appears that even though it tries to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
60 preserve the existing menu structure as much as possible, it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
61 doesn't do a perfect job. It messes up in at least two ways: The
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
62 indentation in the part of the main menu above the detailmenu will
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
63 be screwed up, and the #.0 titles will be removed from both the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
64 detailmenu and the individual chapter menus. In addition,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
65 sometimes random things get screwed up in individual parts of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
66 menus. Therefore:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
67
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
68 1. Use the Lisp line below to get the spacing correct for the Q#.#.#
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
69 menu entries.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
70
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
71 (set (make-local-variable 'texinfo-column-for-description) 14)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
72
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
73 2. Copy the whole detailmenu beforehand.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
74 3. Run C-u C-c C-u m to fix up the nodes.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
75 4. Run `fix-main-menu' and `fix-omitted-menu-lines'.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
76 5. Check the new detailmenu carefully to see if anything is screwed up
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
77 compared to the old detailmenu you copied.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
78 6. If so, paste back the appropriate sections and fix up the corresponding
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
79 part of the chapter-specific menu.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
80
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
81 (defun fix-main-menu ()
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
82 (interactive)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
83 (save-restriction
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
84 (let (p q)
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
85 (goto-char (point-min))
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
86 (re-search-forward "^@menu")
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
87 (setq p (match-beginning 0))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
88 (re-search-forward "^$")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
89 (setq q (match-end 0))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
90 (narrow-to-region p q)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
91 (goto-char p)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
92 (while (search-forward ":: " nil t)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
93 (indent-to-column 26)))))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
94
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
95 (defun fix-omitted-menu-lines ()
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
96 (interactive)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
97 (save-excursion
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
98 (loop for x from 1 to 10 do
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
99 (goto-char (point-min))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
100 (re-search-forward (format "@unnumberedsec \\(%d.0: .*\\)" x))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
101 (let ((line (match-string 1)))
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
102 (re-search-backward "^@menu")
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
103 (forward-line 1)
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
104 (unless (looking-at "[0-9]+.0:")
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
105 (insert line)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
106 (insert "\n"))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
107 (goto-char (point-min))
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
108 (re-search-forward "^@menu")
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
109 (search-forward (format "Q%d.0.1:" x))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
110 (forward-line -1)
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
111 (unless (looking-at "[0-9]+.0:")
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
112 (insert "\n")
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
113 (insert line))))))
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
114
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
115 *****************************************
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
116 ***** Other work *****
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
117 *****************************************
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
118
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
119 When you've rearranged and renumbered a bunch of nodes, you can get
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
120 the numbers agreeing again. The macro below assumes that the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
121 unnumberedsubsec number is correct, and fixes up the node to agree.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
122 Only the first part of the node is fixed and the other parts may still
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
123 be wrong; but they will be fixed as part of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
124 @code{texinfo-master-menu}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
125
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
126 (setq last-kbd-macro (read-kbd-macro
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
127 "<f1> unnumberedsubsec SPC RET C-s : RET <left> C-x C-x <f3> <home> <up> <C-right> <right> C-s , RET <left> C-x C-x <f4> <home> 2*<down>"))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
128 @end ignore
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
129
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
130
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 @node Top, Introduction, (dir), (dir)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 @top XEmacs FAQ
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 This is the guide to the XEmacs Frequently Asked Questions list---a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 compendium of questions and answers pertaining to one of the finest
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
136 programs ever written. XEmacs is much more than just a Text Editor.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
137
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
138 This FAQ is freely redistributable. This FAQ is distributed in the hope
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
139 that it will be useful, but WITHOUT ANY WARRANTY; without even the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
140 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 If you have a Web browser, the official hypertext version is at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 @end iftex
1143
820f727b1801 [xemacs-hg @ 2002-12-04 14:05:57 by stephent]
stephent
parents: 1138
diff changeset
146 @uref{http://www.xemacs.org/FAQ/xemacs-faq.html}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 @ifset CANONICAL
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 @html
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 This document is available in several different formats:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 @uref{xemacs-faq.txt, As a single ASCII file}, produced by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 @code{makeinfo --no-headers}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 @uref{xemacs-faq.dvi, As a .dvi file}, as used with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 @uref{http://www.tug.org, TeX.}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 As a PostScript file @uref{xemacs-faq-a4.ps, in A4 format},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 as well as in @uref{xemacs-faq-letter.ps, letter format}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 In html format, @uref{xemacs-faq_1.html, split by chapter}, or in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 @uref{xemacs-faq.html, one monolithic} document.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 The canonical version of the FAQ is the texinfo document
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 @uref{xemacs-faq.texi, man/xemacs-faq.texi}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 If you do not have makeinfo installed, you may @uref{xemacs-faq.info,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 download the faq} in info format, and install it in @file{<XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 library directory>/info/}. For example in
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
171 @file{/usr/local/lib/xemacs-21.5/info/}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 @end html
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 @end ifset
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 @c end ifset points to CANONICAL
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 @menu
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
182 * Introduction:: Introduction, Policy, Credits.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
183 * Installation:: Installation and Troubleshooting.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
184 * Editing:: Editing Functions.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
185 * Display:: Display Functions.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
186 * External Subsystems:: Interfacing with the OS and External Devices.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
187 * Internet:: Connecting to the Internet.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
188 * Advanced:: Advanced Customization Using XEmacs Lisp.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
189 * Other Packages:: Other External Packages.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
190 * Current Events:: What the Future Holds.
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
191 * Legacy Versions:: New Information about Old XEmacsen.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
192 * Bleeding Edge:: Working with XEmacs Source Code Repositories.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 @detailmenu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 --- The Detailed Node Listing ---
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
197 1 Introduction, Policy, Credits
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
198
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
199 1.0: What is XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
200 * Q1.0.1:: What is XEmacs?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
201 * Q1.0.2:: What is the current version of XEmacs?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
202 * Q1.0.3:: How do you pronounce XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
203 * Q1.0.4:: What does XEmacs look like?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
204 * Q1.0.5:: Who wrote XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
205 * Q1.0.6:: Who wrote the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
206
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
207 1.1: Getting XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
208 * Q1.1.1:: Where can I find XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
209 * Q1.1.2:: Are binaries available?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
210 * Q1.1.3:: How do I get the bleeding-edge sources?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
211 * Q1.1.4:: Where can I obtain a printed copy of the XEmacs User's Manual?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
212
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
213 1.2: Versions for Different Operating Systems
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
214 * Q1.2.1:: Do I need X11 to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
215 * Q1.2.2:: What versions of Unix does XEmacs run on?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
216 * Q1.2.3:: Is there a port of XEmacs to Microsoft Windows?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
217 * Q1.2.4:: Can I build XEmacs on MS Windows with X support? Do I need to?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
218 * Q1.2.5:: What are Cygwin and MinGW, and do I need them to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
219 * Q1.2.6:: What are the differences between the various MS Windows emacsen?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
220 * Q1.2.7:: How does the port cope with differences in the Windows user interface?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
221 * Q1.2.8:: Is there a port of XEmacs to the Macintosh?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
222 * Q1.2.9:: Is there a port of XEmacs to MS-DOS?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
223 * Q1.2.10:: Is there a port of XEmacs to OS/2?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
224 * Q1.2.11:: Is there a port of XEmacs to NextStep?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
225 * Q1.2.12:: Is there a port of XEmacs to VMS?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
226
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
227 1.3: Getting Started
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
228 * Q1.3.1:: What is an @file{init.el} or @file{.emacs} and is there a sample one?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
229 * Q1.3.2:: Where do I put my @file{init.el} file?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
230 * Q1.3.3:: Can I use the same @file{init.el} with the other Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
231 * Q1.3.4:: Any good XEmacs tutorials around?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
232 * Q1.3.5:: May I see an example of a useful XEmacs Lisp function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
233 * Q1.3.6:: And how do I bind it to a key?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
234 * Q1.3.7:: What's the difference between a macro and a function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
235 * Q1.3.8:: What is @code{Custom}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
236
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
237 1.4: Getting Help
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
238 * Q1.4.1:: Where can I get help?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
239 * Q1.4.2:: Which mailing lists are there?
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
240 * Q1.4.3:: Where are the mailing lists archived?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
241 * Q1.4.4:: How can I get two instances of info?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
242 * Q1.4.5:: How do I add new Info directories?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
243
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
244 1.5: Contributing to XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
245 * Q1.5.1:: How do I submit changes to the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
246 * Q1.5.2:: How do I become a beta tester?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
247 * Q1.5.3:: How do I contribute to XEmacs itself?
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
248 * Q1.5.4:: How do I get started developing XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
249 * Q1.5.5:: What's the basic layout of the code?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
250
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
251 1.6: Politics (XEmacs vs. GNU Emacs)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
252 * Q1.6.1:: What is GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
253 * Q1.6.2:: How does XEmacs differ from GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
254 * Q1.6.3:: How much does XEmacs differ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
255 * Q1.6.4:: Is XEmacs "GNU"?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
256 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
257 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
258
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
259 1.7: External Packages
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
260 * Q1.7.1:: What is the package system?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
261 * Q1.7.2:: Which external packages are there?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
262 * Q1.7.3:: Do I need to have the packages to run XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
263 * Q1.7.4:: Is there a way to find which package has particular functionality?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
264
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
265 1.8: Internationalization
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
266 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
267 * Q1.8.2:: How can I help with internationalization?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
268 * Q1.8.3:: How do I type non-ASCII characters?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
269 * Q1.8.4:: Can XEmacs messages come out in a different language?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
270 * Q1.8.5:: Please explain the various input methods in MULE/XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
271 * Q1.8.6:: How do I portably code for MULE/XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
272 * Q1.8.7:: How about Cyrillic modes?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
273 * Q1.8.8:: Does XEmacs support Unicode?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
274 * Q1.8.9:: How does XEmacs display Unicode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
275
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
276 2 Installation and Troubleshooting
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
277
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
278 2.0: Installation (General)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
279 * Q2.0.1:: How do I build and install XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
280 * Q2.0.2:: Where do I find external libraries?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
281 * Q2.0.3:: How do I specify the paths that XEmacs uses for finding files?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
282 * Q2.0.4:: Running XEmacs without installing
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
283 * Q2.0.5:: XEmacs is too big
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
284
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
285 2.1: Package Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
286 * Q2.1.1:: How do I install the packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
287 * Q2.1.2:: Can I install the packages individually?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
288 * Q2.1.3:: Can I install the packages automatically?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
289 * Q2.1.4:: Can I upgrade or remove packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
290 * Q2.1.5:: Which packages to install?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
291 * Q2.1.6:: Can you describe the package location process in more detail?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
292 * Q2.1.7:: EFS fails with "500 AUTH not understood"
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
293
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
294 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
295 * Q2.2.1:: Libraries in non-standard locations
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
296 * Q2.2.2:: Why can't I strip XEmacs?
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
297 * Q2.2.3:: X11/bitmaps/gray (or other X11-related file) not found.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
298
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
299 2.3: Windows Installation (Windows, Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
300 * Q2.3.1:: What exactly are all the different ways to build XEmacs under Windows?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
301 * Q2.3.2:: What compiler/libraries do I need to compile XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
302 * Q2.3.3:: How do I compile the native port?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
303 * Q2.3.4:: What do I need for Cygwin?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
304 * Q2.3.5:: How do I compile under Cygwin?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
305 * Q2.3.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
306 * Q2.3.7:: How do I compile with X support?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
307 * Q2.3.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
308
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
309 2.4: General Troubleshooting
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
310 * Q2.4.1:: How do I deal with bugs or with problems building, installing, or running?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
311 * Q2.4.2:: Help! XEmacs just crashed on me!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
312 * Q2.4.3:: XEmacs crashes and I compiled it myself.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
313 * Q2.4.4:: How to debug an XEmacs problem with a debugger
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
314 * Q2.4.5:: I get a cryptic error message when trying to do something.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
315 * Q2.4.6:: XEmacs hangs when I try to do something.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
316 * Q2.4.7:: I get an error message when XEmacs is running in batch mode.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
317 * Q2.4.8:: The keyboard or mouse is not working properly, or I have some other event-related problem.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
318 * Q2.4.9:: @kbd{C-g} doesn't work for me. Is it broken?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
319 * Q2.4.10:: How do I debug process-related problems?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
320 * Q2.4.11:: XEmacs is outputting lots of X errors.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
321 * Q2.4.12:: After upgrading, XEmacs won't do `foo' any more!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
322
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
323 2.5: Startup-Related Problems
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
324 * Q2.5.1:: XEmacs cannot connect to my X Terminal!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
325 * Q2.5.2:: Startup problems related to paths or package locations.
4658
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
326 * Q2.5.3:: XEmacs won't start without network, or starts slowly.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
327 * Q2.5.4:: Startup warnings about deducing proper fonts?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
328 * Q2.5.5:: Warnings from incorrect key modifiers.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
329 * Q2.5.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
5390
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
330 * Q2.5.7:: XEmacs issues messages about ``auto-autoloads already loaded.''
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
331
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
332 3 Editing Functions
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
333
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
334 3.0: The Keyboard
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
335 * Q3.0.1:: How can I customize the keyboard?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
336 * Q3.0.2:: How can I bind complex functions (or macros) to keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
337 * Q3.0.3:: How do I bind C-. and C-; to scroll one line up and down?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
338 * Q3.0.4:: Globally binding @kbd{Delete}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
339 * Q3.0.5:: How to map @kbd{Help} key alone on Sun type4 keyboard?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
340 * Q3.0.6:: How can you type in special characters in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
341 * Q3.0.7:: Can I turn on @dfn{sticky} modifier keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
342 * Q3.0.8:: How do I map the arrow keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
343 * Q3.0.9:: HP Alt key as Meta.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
344 * Q3.0.10:: Why does edt emulation not work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
345 * Q3.0.11:: How can I emulate VI and use it as my default mode?
4625
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
346 * Q3.0.12:: Mac Alt/Option key as Meta.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
347
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
348 3.1: The Mouse
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
349 * Q3.1.1:: How can I turn off Mouse pasting?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
350 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
351 * Q3.1.3:: Clicking the left button does not do anything in buffer list.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
352 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
353 * Q3.1.5:: How can I set XEmacs up so that it pastes where the text cursor is?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
354
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
355 3.2: Buffers, Text Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
356 * Q3.2.1:: Can I have the end of the buffer delimited in some way?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
357 * Q3.2.2:: How do I insert today's date into a buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
358 * Q3.2.3:: How do I get a single minibuffer frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
359 * Q3.2.4:: How can I enable auto-indent and/or Filladapt?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
360 * Q3.2.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
361
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
362 3.3: Text Selections
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
363 * Q3.3.1:: How do I select a rectangular region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
364 * Q3.3.2:: How can I turn off or change highlighted selections?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
365 * Q3.3.3:: How do I cause typing on an active region to remove it?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
366 * Q3.3.4:: Can I turn off the highlight during isearch?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
367 * Q3.3.5:: Why is killing so slow?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
368 * Q3.3.6:: Why does @kbd{M-w} take so long?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
369
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
370 3.4: Editing Source Code
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
371 * Q3.4.1:: I do not like cc-mode. How do I use the old c-mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
372 * Q3.4.2:: How do you make XEmacs indent CL if-clauses correctly?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
373
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
374 4 Display Functions
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
375
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
376 4.0: Textual Fonts and Colors
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
377 * Q4.0.1:: How do I specify a font?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
378 * Q4.0.2:: How do I set the text, menu and modeline fonts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
379 * Q4.0.3:: How can I set color options from @file{init.el}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
380 * Q4.0.4:: How can I set the colors when highlighting a region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
381 * Q4.0.5:: How can I limit color map usage?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
382 * Q4.0.6:: My tty supports color, but XEmacs doesn't use them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
383 * Q4.0.7:: Can I have pixmap backgrounds in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
384 * Q4.0.8:: How do I display non-ASCII characters?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
385 * Q4.0.9:: Font selections in don't get saved after @code{Save Options}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
386
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
387 4.1: Syntax Highlighting (Font Lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
388 * Q4.1.1:: How can I do source code highlighting using font-lock?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
389 * Q4.1.2:: How do I get @samp{More} Syntax Highlighting on by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
390
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
391 4.2: The Modeline
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
392 * Q4.2.1:: How can I make the modeline go away?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
393 * Q4.2.2:: How do you have XEmacs display the line number in the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
394 * Q4.2.3:: How do I get XEmacs to put the time of day on the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
395 * Q4.2.4:: How can I change the modeline color based on the mode used?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
396
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
397 4.3: The Cursor
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
398 * Q4.3.1:: Is there a way to make the bar cursor thicker?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
399 * Q4.3.2:: Is there a way to get back the block cursor?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
400 * Q4.3.3:: Can I make the cursor blink?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
401
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
402 4.4: The Menubar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
403 * Q4.4.1:: How do I get rid of the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
404 * Q4.4.2:: How can I customize the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
405 * Q4.4.3:: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
406 * Q4.4.4:: How do I control how many buffers are listed in the menu @code{Buffers List}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
407 * Q4.4.5:: Resources like @code{Emacs*menubar*font} are not working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
408
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
409 4.5: The Toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
410 * Q4.5.1:: How do I get rid of the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
411 * Q4.5.2:: How can I customize the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
412 * Q4.5.3:: How can I bind a key to a function to toggle the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
413 * Q4.5.4:: @samp{Can't instantiate image error...} in toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
414
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
415 4.6: Scrollbars and Scrolling
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
416 * Q4.6.1:: How can I disable the scrollbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
417 * Q4.6.2:: How can I change the scrollbar width?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
418 * Q4.6.3:: How can I use resources to change scrollbar colors?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
419 * Q4.6.4:: Moving the scrollbar can move the point; can I disable this?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
420 * Q4.6.5:: Scrolling one line at a time.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
421 * Q4.6.6:: How can I turn off automatic horizontal scrolling in specific modes?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
422 * Q4.6.7:: I find auto-show-mode disconcerting. How do I turn it off?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
423
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
424 4.7: The Gutter Tabs, The Progress Bar, Widgets
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
425 * Q4.7.1:: How can I disable the gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
426 * Q4.7.2:: How can I disable the progress bar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
427 * Q4.7.3:: There are bugs in the gutter or widgets.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
428 * Q4.7.4:: How can I customize the gutter or gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
429
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
430 5 Interfacing with the Operating System and External Devices
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
431
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
432 5.0: X Window System and Resources
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
433 * Q5.0.1:: Where is a list of X resources?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
434 * Q5.0.2:: How can I detect a color display?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
435 * Q5.0.3:: How can I get the icon to just say @samp{XEmacs}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
436 * Q5.0.4:: How can I have the window title area display the full path?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
437 * Q5.0.5:: @samp{xemacs -name junk} doesn't work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
438 * Q5.0.6:: @samp{-iconic} doesn't work.
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
439 * Q5.0.7:: How can I use antialiased fonts under X11?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
440
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
441 5.1: Microsoft Windows
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
442 * Q5.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
443 * Q5.1.2:: How do I get Windows Explorer to associate a file type with XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
444
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
445 5.2: Printing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
446 * Q5.2.1:: What do I need to change to make printing work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
447 * Q5.2.2:: How can I print WYSIWYG a font-locked buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
448 * Q5.2.3:: Getting @kbd{M-x lpr} to work with postscript printer.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
449 * Q5.2.4:: Can you print under MS Windows?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
450
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
451 5.3: Sound
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
452 * Q5.3.1:: How do I turn off the sound?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
453 * Q5.3.2:: How do I get funky sounds instead of a boring beep?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
454 * Q5.3.3:: What are NAS and ESD (EsounD)?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
455 * Q5.3.4:: Sunsite sounds don't play.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
456
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
457 5.4: Running an Interior Shell, Invoking Subprocesses
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
458 * Q5.4.1:: What is an interior shell?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
459 * Q5.4.2:: How do I start up a second shell buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
460 * Q5.4.3:: Telnet from shell filters too much
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
461 * Q5.4.4:: Strange things are happening in Shell Mode.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
462 * Q5.4.5:: XEmacs complains "No such file or directory, diff"
2995
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
463 * Q5.4.6:: Cygwin error "fork_copy: linked dll/bss pass 0 failed"
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
464
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
465 5.5: Multiple Device Support
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
466 * Q5.5.1:: How do I open a frame on another screen of my multi-headed display?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
467 * Q5.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
468 * Q5.5.3:: How do I disable gnuserv from opening a new frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
469 * Q5.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
470 * Q5.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
471
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
472 6 Connecting to the Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
473
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
474 6.0: General Mail and News
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
475 * Q6.0.1:: What are the various packages for reading mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
476 * Q6.0.2:: How can I send mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
477 * Q6.0.3:: How do I get my outgoing mail archived?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
478 * Q6.0.4:: How can I read and/or compose MIME messages?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
479 * Q6.0.5:: How do I customize the From line?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
480 * Q6.0.6:: How do I get my MUA to filter mail for me?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
481 * Q6.0.7:: Remote mail reading with an MUA.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
482 * Q6.0.8:: An MUA gets an error incorporating new mail.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
483 * Q6.0.9:: Why isn't @file{movemail} working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
484 * Q6.0.10:: How do I make my MUA display graphical smilies?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
485 * Q6.0.11:: How can I get those oh-so-neat X-Face lines?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
486
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
487 6.1: Reading Mail with VM
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
488 * Q6.1.1:: How do I set up VM to retrieve mail from a remote site using POP?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
489 * Q6.1.2:: How can I get VM to automatically check for new mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
490 * Q6.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
491 * Q6.1.4:: Is there a mailing list or FAQ for VM?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
492 * Q6.1.5:: How do I make VM stay in a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
493 * Q6.1.6:: Customization of VM not covered in the manual, or here.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
494
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
495 6.2: Reading Netnews and Mail with Gnus
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
496 * Q6.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
497 * Q6.2.2:: How do I make Gnus stay within a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
498
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
499 6.3: FTP Access
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
500 * Q6.3.1:: Can I edit files on other hosts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
501 * Q6.3.2:: What is EFS?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
502
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
503 6.4: Web Browsing with W3
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
504 * Q6.4.1:: What is W3?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
505 * Q6.4.2:: How do I run W3 from behind a firewall?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
506 * Q6.4.3:: Is it true that W3 supports style sheets and tables?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
507
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
508 7 Advanced Customization Using XEmacs Lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
509
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
510 7.0: Emacs Lisp and @file{init.el}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
511 * Q7.0.1:: What version of Emacs am I running?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
512 * Q7.0.2:: How can I evaluate Emacs-Lisp expressions?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
513 * Q7.0.3:: @code{(setq tab-width 6)} behaves oddly.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
514 * Q7.0.4:: How can I add directories to the @code{load-path}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
515 * Q7.0.5:: How to check if a lisp function is defined?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
516 * Q7.0.6:: Can I force the output of @code{(face-list)} to a buffer?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
517
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
518 7.1: Emacs Lisp Programming Techniques
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
519 * Q7.1.1:: What is the difference in key sequences between XEmacs and GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
520 * Q7.1.2:: Can I generate "fake" keyboard events?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
521 * Q7.1.3:: Could you explain @code{read-kbd-macro} in more detail?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
522 * Q7.1.4:: What is the performance hit of @code{let}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
523 * Q7.1.5:: What is the recommended use of @code{setq}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
524 * Q7.1.6:: What is the typical misuse of @code{setq}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
525 * Q7.1.7:: I like the @code{do} form of cl, does it slow things down?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
526 * Q7.1.8:: I like recursion, does it slow things down?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
527 * Q7.1.9:: How do I put a glyph as annotation in a buffer?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
528 * Q7.1.10:: @code{map-extents} won't traverse all of my extents!
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
529 * Q7.1.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
530
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
531 7.2: Mathematics
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
532 * Q7.2.1:: What are bignums, ratios, and bigfloats in Lisp?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
533 * Q7.2.2:: XEmacs segfaults when I use very big numbers!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
534 * Q7.2.3:: Bignums are really slow!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
535 * Q7.2.4:: Equal bignums don't compare as equal! What gives?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
536
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
537 8 Other External Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
538
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
539 8.0: TeX
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
540 * Q8.0.1:: Is there something better than LaTeX mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
541 * Q8.0.2:: What is AUCTeX? Where do you get it?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
542 * Q8.0.3:: Problems installing AUCTeX.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
543 * Q8.0.4:: How do I turn off current chapter from AUCTeX modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
544
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
545 8.1: Other Unbundled Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
546 * Q8.1.1:: Is there a reason for an Emacs package not to be included in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
547 * Q8.1.2:: Are there any Emacs Lisp Spreadsheets?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
548 * Q8.1.3:: Is there a MatLab mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
549
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
550 8.2: Environments Built Around XEmacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
551 * Q8.2.1:: What are SPARCworks, EOS, and WorkShop?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
552 * Q8.2.2:: How do I start the Sun Workshop support in XEmacs 21?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
553 * Q8.2.3:: What is/was Energize?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
554 * Q8.2.4:: What is Infodock?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
555
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
556 9 What the Future Holds
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
557
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
558 9.0: Changes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
559 * Q9.0.1:: What new features will be in XEmacs soon?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
560 * Q9.0.2:: What's new in XEmacs 21.4?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
561 * Q9.0.3:: What's new in XEmacs 21.1?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
562 * Q9.0.4:: What's new in XEmacs 20.4?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
563 * Q9.0.5:: What's new in XEmacs 20.3?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
564 * Q9.0.6:: What's new in XEmacs 20.2?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
565
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
566 10 New information about old XEmacsen
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
567
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
568 10.0: XEmacs 21.1
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
569 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
570 * Q10.0.2:: XEmacs won't start on Windows in XEmacs 21.1.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
571
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
572 11 Working with XEmacs source code repositories
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
573
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
574 11.0: The XEmacs repositories
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
575 * Q11.0.1:: Where is the most recent XEmacs development code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
576 * Q11.0.2:: Where is the most recent XEmacs stable code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
577 * Q11.0.3:: Where is the most recent XEmacs package code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
578 * Q11.0.4:: Why isn't @var{package} available? and what to do about it.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
579 * Q11.0.5:: How do I get commit access?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
580
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
581 11.1: Working with CVS
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
582 * Q11.1.1:: How do I keep cool using CVS?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
583
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
584 11.2: Working with Mercurial
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
585 * Q11.2.1:: What is Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
586 * Q11.2.2:: Where do I get Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
587 * Q11.2.3:: Do I really have to waste space on history?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
588 * Q11.2.4:: @code{hg diff} gives bizarre output.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
589 * Q11.2.5:: How do I recover from a bad commit? (I already pushed.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
590 * Q11.2.6:: How do I recover from a bad commit? (I haven't pushed yet.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
591 * Q11.2.7:: Testing patches with Mercurial Queues.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
592
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
593 @end detailmenu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
594 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
595
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
596 @node Introduction, Installation, Top, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597 @unnumbered 1 Introduction, Policy, Credits
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
598
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
599 Learning XEmacs is a lifelong activity. Even people who have used Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600 for years keep discovering new features. Therefore this document cannot
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
601 be complete. Instead it is aimed at the person who is either
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
602 considering XEmacs for their own use, or has just obtained it and is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603 wondering what to do next. It is also useful as a reference to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
604 available resources.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
605
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
606 The previous maintainer of the FAQ was
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
607 @email{rossini@@biostat.washington.edu, Anthony Rossini}, who started
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
608 it, after getting tired of hearing JWZ complain about repeatedly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
609 having to answer questions. @email{ben@@xemacs.org, Ben Wing} then
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
610 took over and did a massive update reorganizing the whole thing. At
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
611 this point Anthony took back over, but then had to give it up again.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
612 Some of the other contributors to this FAQ are listed later in this
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
613 document.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
614
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
615 The previous version was converted to hypertext format, and edited by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
616 @email{steve@@xemacs.org, Steven L. Baur}. It was converted back to
434
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
617 texinfo by @email{hniksic@@xemacs.org, Hrvoje Niksic}. The FAQ was then
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
618 maintained by @email{andreas@@sccon.com, Andreas Kaempf}, who passed it
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
619 on to ChristianNyb@o{}, and then to @email{wambold@@xemacs.org,Sandra Wambold}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
620
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
621 The current version of the FAQ has been heavily redone by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
622 @email{ben@@xemacs.org, Ben Wing}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
623
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
624 If you notice any errors or items which should be added or amended to
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
625 this FAQ please send email to @email{xemacs-beta@@xemacs.org}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
626 Include @samp{XEmacs FAQ} on the Subject: line.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
628 @menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
629 1.0: What is XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
630 * Q1.0.1:: What is XEmacs?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
631 * Q1.0.2:: What is the current version of XEmacs?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
632 * Q1.0.3:: How do you pronounce XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
633 * Q1.0.4:: What does XEmacs look like?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
634 * Q1.0.5:: Who wrote XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
635 * Q1.0.6:: Who wrote the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
636
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
637 1.1: Getting XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
638 * Q1.1.1:: Where can I find XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
639 * Q1.1.2:: Are binaries available?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
640 * Q1.1.3:: How do I get the bleeding-edge sources?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
641 * Q1.1.4:: Where can I obtain a printed copy of the XEmacs User's Manual?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
642
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
643 1.2: Versions for Different Operating Systems
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
644 * Q1.2.1:: Do I need X11 to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
645 * Q1.2.2:: What versions of Unix does XEmacs run on?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
646 * Q1.2.3:: Is there a port of XEmacs to Microsoft Windows?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
647 * Q1.2.4:: Can I build XEmacs on MS Windows with X support? Do I need to?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
648 * Q1.2.5:: What are Cygwin and MinGW, and do I need them to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
649 * Q1.2.6:: What are the differences between the various MS Windows emacsen?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
650 * Q1.2.7:: How does the port cope with differences in the Windows user interface?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
651 * Q1.2.8:: Is there a port of XEmacs to the Macintosh?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
652 * Q1.2.9:: Is there a port of XEmacs to MS-DOS?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
653 * Q1.2.10:: Is there a port of XEmacs to OS/2?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
654 * Q1.2.11:: Is there a port of XEmacs to NextStep?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
655 * Q1.2.12:: Is there a port of XEmacs to VMS?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
656
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
657 1.3: Getting Started
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
658 * Q1.3.1:: What is an @file{init.el} or @file{.emacs} and is there a sample one?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
659 * Q1.3.2:: Where do I put my @file{init.el} file?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
660 * Q1.3.3:: Can I use the same @file{init.el} with the other Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
661 * Q1.3.4:: Any good XEmacs tutorials around?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
662 * Q1.3.5:: May I see an example of a useful XEmacs Lisp function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
663 * Q1.3.6:: And how do I bind it to a key?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
664 * Q1.3.7:: What's the difference between a macro and a function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
665 * Q1.3.8:: What is @code{Custom}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
666
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
667 1.4: Getting Help
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
668 * Q1.4.1:: Where can I get help?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
669 * Q1.4.2:: Which mailing lists are there?
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
670 * Q1.4.3:: Where are the mailing lists archived?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
671 * Q1.4.4:: How can I get two instances of info?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
672 * Q1.4.5:: How do I add new Info directories?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
673
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
674 1.5: Contributing to XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
675 * Q1.5.1:: How do I submit changes to the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
676 * Q1.5.2:: How do I become a beta tester?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
677 * Q1.5.3:: How do I contribute to XEmacs itself?
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
678 * Q1.5.4:: How do I get started developing XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
679 * Q1.5.5:: What's the basic layout of the code?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
680
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
681 1.6: Politics (XEmacs vs. GNU Emacs)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
682 * Q1.6.1:: What is GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
683 * Q1.6.2:: How does XEmacs differ from GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
684 * Q1.6.3:: How much does XEmacs differ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
685 * Q1.6.4:: Is XEmacs "GNU"?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
686 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
687 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
688
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
689 1.7: External Packages
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
690 * Q1.7.1:: What is the package system?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
691 * Q1.7.2:: Which external packages are there?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
692 * Q1.7.3:: Do I need to have the packages to run XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
693 * Q1.7.4:: Is there a way to find which package has particular functionality?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
694
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
695 1.8: Internationalization
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
696 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
697 * Q1.8.2:: How can I help with internationalization?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
698 * Q1.8.3:: How do I type non-ASCII characters?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
699 * Q1.8.4:: Can XEmacs messages come out in a different language?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
700 * Q1.8.5:: Please explain the various input methods in MULE/XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
701 * Q1.8.6:: How do I portably code for MULE/XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
702 * Q1.8.7:: How about Cyrillic modes?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
703 * Q1.8.8:: Does XEmacs support Unicode?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
704 * Q1.8.9:: How does XEmacs display Unicode?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
705 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
706
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
707 @unnumberedsec 1.0: What is XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
708
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
709 @node Q1.0.1, Q1.0.2, Introduction, Introduction
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
710 @unnumberedsubsec Q1.0.1: What is XEmacs?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
711
479
52626a2f02ef [xemacs-hg @ 2001-04-20 11:31:53 by ben]
ben
parents: 468
diff changeset
712 XEmacs is a powerful, highly customizable open source text editor and
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
713 application development system, with full GUI support. It is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
714 protected under the GNU Public License and related to other versions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
715 of Emacs, in particular GNU Emacs. Its emphasis is on modern
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
716 graphical user interface support and an open software development
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
717 model, similar to Linux. XEmacs has an active development community
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
718 numbering in the hundreds (and thousands of active beta testers on top
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
719 of this), and runs on all versions of MS Windows, on Mac OS X, on
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
720 Linux, and on nearly every other version of Unix in existence.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
721 Support for XEmacs has been supplied by Sun Microsystems, University
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
722 of Illinois, Lucid, ETL/Electrotechnical Laboratory, Amdahl
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
723 Corporation, BeOpen, and others, as well as the unpaid time of a great
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
724 number of individual developers.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
725
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
726 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
727 @unnumberedsubsec Q1.0.2: What is the current version of XEmacs?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
728
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
729 XEmacs versions 21.4.* are releases made from the current stable
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
730 sources. XEmacs versions 21.5.* (which will be released as 22.0) are
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
731 releases made from the development sources. Check at
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
732 @uref{http://www.xemacs.org} for the current minor version. XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
733 versions 21.1.* were the previous stable releases, now retired.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
734
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
735 XEmacs 20.4, released in February 1998, was the last release of v20.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
736
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
737 XEmacs 19.16, released in November, 1997. was the last release of v19,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
738 and was also the last version without international language support.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
739
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
740 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
741 @unnumberedsubsec Q1.0.3: How do you pronounce XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
742
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
743 The most common pronunciation is @samp{Eks eemax}, @samp{Eks'im&ks} in
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
744 Kirshenbaum IPA. (See
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
745 @uref{http://www.kirshenbaum.net/IPA/ascii-ipa.pdf} if you know the IPA
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
746 already and want to know how to map from Kirshenbaum to it.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
747
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
748 @node Q1.0.4, Q1.0.5, Q1.0.3, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
749 @unnumberedsubsec Q1.0.4: What does XEmacs look like?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
750
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
751 Screen snapshots are available at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
752 @uref{http://www.xemacs.org/About/Screenshots/index.html}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
753 as part of the XEmacs website.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
754
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
755 @node Q1.0.5, Q1.0.6, Q1.0.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
756 @unnumberedsubsec Q1.0.5: Who wrote XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
757
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
758 XEmacs is the result of the time and effort of many people, and the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
759 active developers have changed over time. There are two major
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
760 components of the XEmacs effort -- writing the code itself and providing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
761 all the support work (testing the code, releasing beta and final
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
762 versions, handling patches, reading bug reports, maintaining the web
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
763 site, managing the mailing lists, etc. etc.). Neither component would
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
764 work without the other.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
765
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
766 @subheading CODING
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
767
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
768 The primary code contributor over the years has been Ben Wing (active
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
769 since late 1992). Between 1991 and 1995, large amounts of coding was
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
770 contributed by Jamie Zawinski and Chuck Thompson. Many other people
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
771 have authored major subsystems or otherwise contributed large amounts of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
772 code, including Andy Piper, Hrvoje Niksic, Jerry James, Jonathan Harris,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
773 Kyle Jones, Martin Buchholz, Michael Sperber, Olivier Galibert, Richard
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
774 Mlynarik, Stig, William Perry and plenty of others.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
775
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
776 Primary XEmacs-specific subsystems and their authors:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
777
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
778 @table @asis
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
779 @item Objects
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
780 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
781 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
782 Conversion from 26-bit to 28-bit pointers and integers, lrecords, lcrecords: Richard Mlynarik, 1994
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
783 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
784 Conversion to 32-bit pointers and 31-bit integers: Kyle Jones, Martin Buchholz
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
785 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
786 Portable dumper, object descriptions: Olivier Galibert
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
787 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
788 KKCC (new garbage collector), ephemerons, weak boxes: Michael Sperber and students
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
789 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
790 Random object work (object equal and hash methods, weak lists, lcrecord lists, bit vectors, dynarr, blocktype, opaque, string resizing): Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
791 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
792 Profiling: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
793 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
794 Some byte-compilation and hash-table improvements: Martin Buchholz
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
795 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
796 Bignum: Jerry James
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
797 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
798
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
799 @item Internationalization/Mule
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
800 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
801 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
802 mostly Ben Wing; many ideas for future work, Stephen Turnbull
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
803 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
804
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
805 @item I/O
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
806 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
807 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
808 Basic event/event-stream implementation: Jamie Zawinski
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
809 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
810 Most event work since 1994: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
811 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
812 Asynchronous stuff (async timeouts, signals, quit-checking): Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
813 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
814 Process method abstraction, Windows process work: Kirill Katsnelson
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
815 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
816 Misc-user events, async timeouts, most quit-checking and signal code, most other work since 1994: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
817 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
818 Lstreams: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
819 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
820
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
821 @item Display
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
822 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
823 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
824 Redisplay mechanism: implementation, Chuck Thompson; additional work, lots of people
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
825 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
826 Glyphs: mostly Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
827 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
828 Specifiers: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
829 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
830 Extents: initial implementation, someone at Lucid; rewrite, 1994, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
831 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
832 Widgets: Andy Piper
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
833 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
834 JPEG/PNG/TIFF image converters: Ben Wing, William Perry, Jareth Hein, others (see comment in @file{glyphs-eimage.c})
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
835 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
836 Menus: Jamie Zawinski, someone at Lucid (Lucid menus)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
837 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
838 Scrollbars: Chuck Thompson, ??? (Lucid scrollbar)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
839 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
840 Multi-device/device-independence work (console/device/etc methods): Ben Wing, prototype by chuck thompson
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
841 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
842 Faces: first implementation, Jamie Zawinski; second, chuck; third, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
843 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
844 Fonts/colors: first implementation, Jamie Zawinski; further work, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
845 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
846 Toolbars: implementation, chuck, much interface work, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
847 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
848 Gutters, tabs: andy piper
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
849 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
850
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
851 @item Device subsystems
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
852 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
853 @item
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
854 X Windows: Jamie Zawinski, Ben Wing, others
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
855 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
856 GTK: William Perry, Malcolm Purvis
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
857 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
858 MS Windows: initial implementation, Jonathan Harris; some more work, Andy Piper, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
859 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
860 TTY: Chuck Thompson, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
861 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
862 Cygwin: Andy Piper
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
863 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
864
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
865 @item Misc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
866 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
867 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
868 Configure: initial porting from fsf, Chuck Thompson; conversion to autoconf 2, much rewriting, Martin Buchholz
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
869 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
870 Most initialization-related code: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
871 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
872 Internals manual, much of Lisp manual: Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
873 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
874 FSF synching: initial sync with FSF 19, Richard Mlynarik, further work, Ben Wing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
875 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
876 @end table
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
877
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
878 @subheading SUPPORT
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
879
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
880 Currently, support duties are handled by many different people.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
881
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
882 Release managers have been
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
883
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
884 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
885 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
886 Stephen Turnbull (April 2001 - January 2003, March 2004 - present, 21.2.47 - 21.4.12, 21.5.2 - 21.5.7, 21.5.17 - present)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
887 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
888 Vin Shelton (May 2003 - present, 21.4.13 - present)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
889 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
890 Steve Youngs (July 2002 - September 2003, 21.5.8 - 21.5.16)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
891 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
892 Martin Buchholz (December 1998, November 1999 - May 2001, 21.2.7 - 21.2.8, 21.2.21 - 21.2.46, 21.5.0 - 21.5.1)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
893 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
894 Steve Baur (early 1997 - December 1998, February 1999 - November 1999, 19.15 - 21.2.5, 21.2.9 - 21.2.20)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
895 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
896 Andy Piper (December 1998, 21.2.6)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
897 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
898 Chuck Thompson (June 1994 - September 1996, 19.11 - 19.14)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
899 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
900 Jamie Zawinski (April 1991 - June 1994, 19.0 - 19.10)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
901 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
902
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
903 The recent overlapping dates are intentional, since two or three trees
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
904 are maintained simultaneously at any point.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
905
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
906 Other major support work:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
907
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
908 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
909 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
910 Adrian Aichner wrote and maintains the web site.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
911 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
912 Stephen Turnbull has produced many of the beta and semi-stable releases
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
913 and has attempted to be the "face" of XEmacs on the newsgroups and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
914 mailing lists.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
915 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
916 Steve Youngs currently produces the beta releases (???).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
917 @item
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
918 Steve Youngs, Ville Skyttä, and now Norbert Koch have taken turns
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
919 maintaining the packages.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
920 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
921 Vin Shelton maintains the stable releases.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
922 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
923 Testing - #### Norbert, Adrian, ???
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
924 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
925
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
926 Portraits and email of some of the major developers:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
927
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
928 @itemize @bullet
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
929 @item @email{andy@@xemacs.org, Andy Piper}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
930 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
931 <br><img src="piper.png" alt="Portrait of Andy Piper"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
932 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
933
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
934 @item @email{ben@@xemacs.org, Ben Wing}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
935 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
936 <br><img src="ben.png" alt="Portrait of Ben Wing"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
937 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
938
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
939 @item @email{cthomp@@xemacs.org, Chuck Thompson}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
940 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
941 <br><img src="cthomp.png" alt="Portrait of Chuck Thompson"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
942 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
943
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
944 @item @email{hniksic@@xemacs.org, Hrvoje Niksic}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
945
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
946 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
947 <br><img src="hniksic.png" alt="Portrait of Hrvoje Niksic"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
948 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
949
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
950 @item @email{jwz@@jwz.org, Jamie Zawinski}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
951 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
952 <br><img src="jwz.png" alt="Portrait of Jamie Zawinski"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
953 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
954
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
955 @item @email{martin@@xemacs.org, Martin Buchholz}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
956 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
957 <br><img src="martin.png" alt="Portrait of Martin Buchholz"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
958 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
959
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
960 @item @email{mly@@adoc.xerox.com, Richard Mlynarik}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
961 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
962 <br><img src="mly.png" alt="Portrait of Richard Mlynarik"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
963 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
964
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
965 @item @email{stephen@@xemacs.org, Stephen Turnbull}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
966
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
967 @item @email{steve@@xemacs.org, Steve Baur}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
968 @html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
969 <br><img src="slb.png" alt="Portrait of Steve Baur"><br>
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
970 @end html
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
971 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
972
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
973 Many other people have contributed to XEmacs; this is partially
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
974 enumerated in the @samp{About XEmacs} option in the Help menu.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
975
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
976 @node Q1.0.6, Q1.1.1, Q1.0.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
977 @unnumberedsubsec Q1.0.6: Who wrote the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
978
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
979 The current version of this FAQ was created by @email{ben@@xemacs.org,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
980 Ben Wing}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
981
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
982 Previous contributors to the FAQ include
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
983
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
984 @itemize @bullet
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
985 @item @email{steve@@xemacs.org, SL Baur}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
986
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
987 @item @email{hniksic@@xemacs.org, Hrvoje Niksic}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
988
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
989 @item @email{binge@@aloft.att.com, Curtis.N.Bingham}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
990
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
991 @item @email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
992
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
993 @item @email{rjc@@cogsci.ed.ac.uk, Richard Caley}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
994
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
995 @item @email{cognot@@ensg.u-nancy.fr, Richard Cognot}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
996
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
997 @item @email{daku@@nortel.ca, Mark Daku}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
998
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
999 @item @email{wgd@@martigny.ai.mit.edu, William G. Dubuque}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1000
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1001 @item @email{eeide@@cs.utah.edu, Eric Eide}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1002
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1003 @item @email{af@@biomath.jussieu.fr, Alain Fauconnet}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1004
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1005 @item @email{cflatter@@nrao.edu, Chris Flatters}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1006
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1007 @item @email{ginsparg@@adra.com, Evelyn Ginsparg}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1008
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1009 @item @email{hall@@aplcenmp.apl.jhu.edu, Marty Hall}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1010
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1011 @item @email{dkindred@@cmu.edu, Darrell Kindred}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1012
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1013 @item @email{dmoore@@ucsd.edu, David Moore}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1014
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1015 @item @email{arup+@@cmu.edu, Arup Mukherjee}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1016
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1017 @item @email{nickel@@prz.tu-berlin.de, Juergen Nickelsen}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1018
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1019 @item @email{powell@@csl.ncsa.uiuc.edu, Kevin R. Powell}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1020
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1021 @item @email{dworkin@@ccs.neu.edu, Justin Sheehy}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1022
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1023 @item @email{stig@@hackvan.com, Stig}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1024
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1025 @item @email{Aki.Vehtari@@hut.fi, Aki Vehtari}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1026 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1027
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1028 @unnumberedsec 1.1: Getting XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1029
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1030 @node Q1.1.1, Q1.1.2, Q1.0.6, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1031 @unnumberedsubsec Q1.1.1: Where can I find XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1032
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1033 To download XEmacs, visit the XEmacs WWW page at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1034 @uref{http://www.xemacs.org/Download/}. The most up-to-date list of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1035 distribution sites can always be found there. Try to pick a site that
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1036 is networkologically close to you. If you know of other mirrors of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1037 the XEmacs archives, please send e-mail to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1038 @uref{mailto:webmaster@@xemacs.org} and we will list them here as well.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1039
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1040 The canonical distribution point is ftp.xemacs.org, available either
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1041 through HTTP (@uref{http://ftp.xemacs.org/}) or anonymous FTP
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1042 (@uref{ftp://ftp.xemacs.org/pub/xemacs/}).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1043
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1044 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1045 @unnumberedsubsec Q1.1.2: Are binaries available?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1046
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1047 MS Windows binaries are available at
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1048 @uref{http://www.xemacs.org/Download/win32/} for the native versions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1049 of 21.4 and 21.1. Cygwin binaries are now available as part of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1050 standard Cygwin installation process. XEmacs also comes pre-built as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1051 part of many Linux distributions, such as Red Hat and SuSE.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1052
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1053 Otherwise, you will need to build XEmacs yourself or get your system
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1054 administrator to do it. Generally, this is not a difficult process
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1055 under Unix and Mac OS X, as XEmacs has been tested under all of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1056 common Unix versions and under Mac OS X and comes with an extensive
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1057 configure script that is able to automatically detect most aspects of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1058 the configuration of your particular system.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
1059
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1060 @node Q1.1.3, Q1.1.4, Q1.1.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1061 @unnumberedsubsec Q1.1.3: How do I get the bleeding-edge sources?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1062
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1063 If you are interested in developing XEmacs, or getting the absolutely most
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1064 recent, up-to-the-moment, bleeding-edge source code, you can directly
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1065 access the master CVS source tree (read-only, of course, until you ask for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1066 and are granted permission to directly modify portions of the source tree)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1067 at cvs.xemacs.org. Directions on how to access the source tree are located
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1068 at @uref{http://www.xemacs.org/Develop/cvsaccess.html}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1069
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1070 Nightly CVS snapshots are available at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1071 @uref{http://www.dk.xemacs.org/Download/CVS-snapshots/}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1072
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1073 @node Q1.1.4, Q1.2.1, Q1.1.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1074 @unnumberedsubsec Q1.1.4: Where can I obtain a printed copy of the XEmacs User's Manual?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1075
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1076 Pre-printed manuals are not available. If you are familiar with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1077 TeX, you can generate your own manual from the XEmacs sources.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1078
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1079 HTML and Postscript versions of XEmacs manuals are available from the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1080 XEmacs web site at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1081 @uref{http://www.xemacs.org/Documentation/index.html}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1082
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1083 @unnumberedsec 1.2: Versions for Different Operating Systems
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1084
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1085 @node Q1.2.1, Q1.2.2, Q1.1.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1086 @unnumberedsubsec Q1.2.1: Do I need X11 to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1087
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1088 No. The name @dfn{XEmacs} is unfortunate in the sense that it is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1089 @strong{not} an X Window System-only version of Emacs. XEmacs has
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1090 full color support on a color-capable character terminal.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1091
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1092 @node Q1.2.2, Q1.2.3, Q1.2.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1093 @unnumberedsubsec Q1.2.2: What versions of Unix does XEmacs run on?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1094
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1095 XEmacs is regularly tested on Linux, Solaris and OpenSolaris, HP/UX,
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1096 FreeBSD, OpenBSD, Cygwin, Mac OS X, and probably others. It should work
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1097 on all versions of Unix created in the last 10 years or so, perhaps with
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1098 a bit of work on more obscure platforms to correct bit-rot. It uses a
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1099 sophisticated configuration system to auto-detect zillions of features
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1100 that are implemented differently in different versions of Unix, so it
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1101 will probably work on your vendor's version, possibly with a bit of
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4658
diff changeset
1102 tweaking, even if we've never heard of it.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1103
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1104 For problems with particular machines and versions of Unix, see the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1105 @file{PROBLEMS} file.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1106
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1107 Much effort has gone into making XEmacs work on as many different
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1108 machines, configurations, and compilers as possible.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1109
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1110 Much effort has gone into making XEmacs 64-bit clean.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1111
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1112 Much effort has gone into removing system-specific code, and replacing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1113 such code with autodetection at configure time.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1114
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1115 The XEmacs core should build "out of the box" on most Unix-like systems.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1116
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1117 XEmacs 21.2 was tested and @samp{make check} succeeded on these Unix
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1118 configurations as of 2001-02-10:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1119
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1120 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1121 alphaev56-dec-osf4.0e (both Compaq C and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1122 i386-unknown-freebsd4.2
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1123 i386-unknown-netbsdelf1.5
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1124 i586-sco-sysv5uw7.0.1 (both SCO's cc and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1125 i686-pc-linux-gnu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1126 hppa2.0-hp-hpux10.20 (both HP's ANSI cc and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1127 mips-sgi-irix6.5 (both MIPSpro cc and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1128 rs6000-ibm-aix4.3.0.0 (both IBM's xlc and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1129 sparc-sun-solaris2.6 (both Sun's Forte C and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1130 sparc-sun-solaris2.7 (both Sun's Forte C and gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1131 sparc-sun-sunos4.1.4 (gcc)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1132 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1133
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
1134 Some systems have a dual mode 32-bit/64-bit compiler. On most of these,
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
1135 XEmacs requires the @samp{--pdump} (in XEmacs 21.5,
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
1136 @samp{--enable-pdump}) configure option to build correctly with the
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
1137 64-bit version of the compiler.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1138
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1139 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1140 mips-sgi-irix6.5, CC="gcc -mabi=64"
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1141 mips-sgi-irix6.5, CC="cc -64"
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1142 rs6000-ibm-aix4.3.0.0, CC="cc -q64"
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1143 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1144
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1145 On most of these systems, XEmacs also builds with a C++ compiler,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1146 but not "out of the box". This feature is only for use by the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1147 maintainers.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1148
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1149 XEmacs 21.2 is known @emph{not} to work on any machines with m680x0
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1150 processors. Sorry, all you sun3 and Unix PC nostalgia buffs out there.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1151
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1152 VMS has never been supported by XEmacs. In fact, all the old VMS code
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1153 inherited from Emacs has been removed. Sorry, all you VMS fans out there.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1154
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1155 @node Q1.2.3, Q1.2.4, Q1.2.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1156 @unnumberedsubsec Q1.2.3: Is there a port of XEmacs to Microsoft Windows?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1157
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1158 Yes. Beginning with release 21.0, XEmacs has worked under MS Windows
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1159 and is fully-featured and actively developed. A group of dedicated
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1160 developers actively maintains and improves the Windows-specific
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1161 portions of the code. Some of the core developers, in fact, use
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1162 Windows as their only development environment, and some features, such
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1163 as printing, actually work better on Windows than native Unix and Mac
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1164 OS X. The mailing list at @email{xemacs-winnt@@xemacs.org} is dedicated
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1165 to that effort (please use the -request address to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1166 subscribe). (Despite its name, XEmacs actually works on all versions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1167 of Windows.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1168
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1169 The list name is misleading, as XEmacs supports and has been compiled on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1170 Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1171 XP, and all newer versions of Windows. The MS Windows-specific code is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1172 based on Microsoft Win32 API, and will not work on MS Windows 3.x or on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1173 MS-DOS.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1174
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1175 XEmacs also supports the Cygwin and MinGW development and runtime
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1176 environments, where it also uses native Windows code for graphical
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1177 features. In addition, under Cygwin it is possible to compile XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1178 to use an X server (and XFree86 is available as part of the standard
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1179 Cygwin installation).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1180
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1181 @node Q1.2.4, Q1.2.5, Q1.2.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1182 @unnumberedsubsec Q1.2.4: Can I build XEmacs on MS Windows with X support? Do I need to?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1183
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1184 Yes, you can, but no you do not need to. In fact, we recommend that you
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1185 use a native-GUI version unless you have a specific need for an X
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1186 version.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1187
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1188 @node Q1.2.5, Q1.2.6, Q1.2.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1189 @unnumberedsubsec Q1.2.5: What are Cygwin and MinGW, and do I need them to run XEmacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1190
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1191 To answer the second part of the question: No, you, you don't need
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1192 Cygwin or MinGW to build or to run XEmacs. But if you have them and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1193 want to use them, XEmacs supports these environments.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1194
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1195 (One important reason to support Cygwin is that it lets the MS Windows
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1196 developers test out their code in a Unix environment without actually
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1197 having to have a Unix machine around. For this reason alone, Cygwin
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1198 support is likely to remain supported for a long time in XEmacs. Same
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1199 goes for the X support under Cygwin, for the same reasons. MinGW
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1200 support, on the other hand, depends on volunteers to keep it up to date;
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1201 but this is generally not hard.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1202
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1203 Cygwin is a set of tools providing Unix-like API on top of Win32.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1204 It makes it easy to port large Unix programs without significant
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1205 changes to their source code. It is a development environment as well
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1206 as a runtime environment.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1207
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1208 When built with Cygwin, XEmacs supports all display types -- TTY, X &
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1209 Win32 GUI, and can be built with support for all three simultaneously.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1210 If you build with Win32 GUI support then the Cygwin version uses the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1211 majority of the Windows-specific code, which is mostly related to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1212 display. If you want to build with X support you need X libraries (and
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1213 an X server to display XEmacs on); see @ref{Q2.3.7}. TTY and Win32 GUI
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1214 require no additional libraries beyond what comes standard with Cygwin.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1215
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1216 The advantages of the Cygwin version are that it integrates well with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1217 the Cygwin environment for existing Cygwin users; uses configure so
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1218 building with different features is very easy; and actively supports X &
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1219 TTY. Furthermore, the entire Cygwin environment and compiler are free,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1220 whereas Visual C++ costs money.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1221
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1222 The disadvantage is that it requires the whole Cygwin environment,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1223 whereas the native port requires only a suitable MS Windows compiler.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1224 Also, it follows the Unix filesystem and process model very closely
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1225 (some will undoubtedly view this as an advantage).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1226
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1227 See @uref{http://www.cygwin.com/} for more information on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1228 Cygwin.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1229
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1230 MinGW is a collection of header files and import libraries that allow
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1231 one to use GCC under the Cygwin environment to compile and produce
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1232 exactly the same native Win32 programs that you can using Visual C++.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1233 Programs compiled with MinGW make use of the standard Microsoft runtime
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1234 library @file{MSVCRT.DLL}, present on all Windows systems, and look,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1235 feel, and act like a standard Visual-C-produced application. (The only
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1236 difference is the compiler.) This means that, unlike a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1237 standardly-compiled Cygwin application, no extra runtime support
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1238 (e.g. Cygwin's @file{cygwin1.dll}) is required. This, along with the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1239 fact that GCC is free (and works in a nice Unix-y way in a nice Unix-y
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1240 environment, for those die-hard Unix hackers out there), is the main
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1241 advantage of MinGW. It is also potentially faster than Cygwin because
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1242 it has less overhead when calling Windows, but you lose the POSIX
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1243 emulation layer, which makes Unix programs harder to port. (But this is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1244 irrelevant for XEmacs since it's already ported to Win32.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1245
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1246 See @uref{http://www.mingw.org/} for more information on MinGW.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1247
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1248 @node Q1.2.6, Q1.2.7, Q1.2.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1249 @unnumberedsubsec Q1.2.6: What are the differences between the various MS Windows emacsen?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1250
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1251 XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1252 Could you briefly explain the differences between them?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1253
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1254 Here is a recount of various Emacs versions running on MS Windows:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1255
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1256 @itemize @bullet
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1257
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1258 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1259 XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1260
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1261 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1262
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1263 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1264 Beginning with XEmacs 19.12, XEmacs' architecture was redesigned
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1265 in such a way to allow clean support of multiple window systems. At
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1266 this time the TTY support was added, making X and TTY the first two
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1267 "window systems" supported by XEmacs. The 19.12 design is the basis for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1268 the current native MS Windows code.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1269
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1270 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1271 Some time during 1997, David Hobley (soon joined by Marc Paquette)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1272 imported some of the NT-specific portions of GNU Emacs, making XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1273 with X support compile under Windows NT, and creating the "X" port.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1274
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1275 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1276 Several months later, Jonathan Harris sent out initial patches to use
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1277 the Win32 API, thus creating the native port. Since then, various
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1278 people have contributed, including Kirill M. Katsnelson (contributed
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1279 support for menubars, subprocesses and network, as well as loads of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1280 other code), Andy Piper (ported XEmacs to Cygwin environment,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1281 contributed Windows unexec, Windows-specific glyphs and toolbars code,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1282 and more), Ben Wing (loads of improvements; primary MS Windows developer
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1283 since 2000), Jeff Sparkes (contributed scrollbars support) and many
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1284 others.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1285 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1286
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1287 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1288 NT Emacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1289
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1290 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1291
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1292 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1293 NT Emacs was an early version of GNU Emacs 19 modified to compile and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1294 run under MS Windows 95 and NT using the native Win32 API. It was
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1295 written by Geoff Voelker, and has long since been incorporated into
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1296 the mainline GNU Emacs distribution.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1297 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1298
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1299 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1300 Win-Emacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1301
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1302 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1303
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1304 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1305 Win-Emacs was a port of Lucid Emacs 19.6 to MS Windows using X
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1306 compatibility libraries. Win-Emacs was written by Ben Wing. The MS
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1307 Windows code never made it back to Lucid Emacs, and its creator (Pearl
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1308 Software) has long since gone out of business.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1309 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1310
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1311 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1312 GNU Emacs for DOS
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1313
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1314 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1315
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1316 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1317 GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1318 port of GCC). Such an Emacs is heavily underfeatured, because it does
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1319 not support long file names, lacks proper subprocesses support, and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1320 is far too big compared with typical DOS editors.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1321 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1322
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1323 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1324 GNU Emacs compiled with Win32
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1325
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1326 @itemize @minus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1327
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1328 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1329 Starting with GNU Emacs 19.30, it has been possible to compile GNU Emacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1330 under MS Windows using the DJGPP compiler and X libraries. The result
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1331 is very similar to GNU Emacs compiled under MS DOS, only it works
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1332 somewhat better because it runs in 32-bit mode, makes use of all the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1333 system memory, supports long file names, etc.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1334 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1335
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1336 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1337
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1338 @node Q1.2.7, Q1.2.8, Q1.2.6, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1339 @unnumberedsubsec Q1.2.7: How does the port cope with differences in the Windows user interface?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1340
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1341 The XEmacs (and Emacs in general) user interface is pretty different
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1342 from what is expected of a typical MS Windows program. How does the MS
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1343 Windows port cope with it?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1344
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1345 As a general rule, we follow native MS Windows conventions as much as
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1346 possible. 21.4 is a fairly complete Windows application, supporting
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1347 native printing, system file dialog boxes, tool tips, etc. In cases
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1348 where there's a clear UI conflict, we currently use normal Unix XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1349 behavior by default, but make sure the MS Windows "look and feel" (mark
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1350 via shift-arrow, self-inserting deletes region, Alt selects menu items,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1351 etc.) is easily configurable (respectively: using the variable
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1352 @code{shifted-motion-keys-select-region} in 21.4 and above [it's in fact
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1353 the default in these versions], or the @file{pc-select} package; using
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1354 the @file{pending-del} package; and setting the variable
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1355 @code{menu-accelerator-enabled} to @code{menu-force} in 21.4 and above).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1356 In fact, if you use the sample @file{init.el} file as your init file,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1357 you will get all these behaviors automatically turned on.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1358
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1359 In future versions, some of these features might be turned on by
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1360 default in the MS Windows environment.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1361
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1362 @node Q1.2.8, Q1.2.9, Q1.2.7, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1363 @unnumberedsubsec Q1.2.8: Is there a port of XEmacs to the Macintosh?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1364
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1365 Yes.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1366
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1367 XEmacs 21.5 (perhaps 21.4 also?) works on MacOS X, although it certainly
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1368 will not feel very much like a Mac application as it has no Mac-specific
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1369 code in it.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1370
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1371 There is also a port of XEmacs 19.14 that works on all recent versions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1372 of MacOS, from 8.1 through MacOS X, by @email{pjarvis@@ispchannel.com,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1373 Pitts Jarvis} (recently deceased). It runs in an equivalent of TTY
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1374 mode only (one single Macintosh window, 25 colors), but has a large
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1375 number of Mac-specific additions. It's available at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1376 @uref{http://homepage.mac.com/pjarvis/xemacs.html}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1377
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1378 @node Q1.2.9, Q1.2.10, Q1.2.8, Introduction
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1379 @unnumberedsubsec Q1.2.9: Is there a port of XEmacs to MS-DOS?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1380
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1381 No. We have never supported running on MS-DOS or Windows 3.1, and in
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1382 fact have long since deleted all MS-DOS-related code. We're not
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1383 particularly interested in patches for these platforms, as they would
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1384 introduce huge amounts of code clutter due to the woefully
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1385 underfeatured nature of these systems. (See GNU Emacs for a port to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1386 MS-DOS.)
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1387
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1388 @node Q1.2.10, Q1.2.11, Q1.2.9, Introduction
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1389 @unnumberedsubsec Q1.2.10: Is there a port of XEmacs to OS/2?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1390
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1391 No, but Alexander Nikolaev <avn_1251@@mail.ru> was at one point
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1392 working on it.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1393
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1394 @node Q1.2.11, Q1.2.12, Q1.2.10, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1395 @unnumberedsubsec Q1.2.11: Is there a port of XEmacs to NextStep?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1396
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1397 Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1398 the port of GNU Emacs to NeXTstep and expressed interest in doing the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1399 XEmacs port, but never went any farther.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1400
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1401 @node Q1.2.12, Q1.3.1, Q1.2.11, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1402 @unnumberedsubsec Q1.2.12: Is there a port of XEmacs to VMS?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1403
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1404 VMS has never been supported by XEmacs. In fact, all the old VMS code
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1405 inherited from GNU Emacs has been removed. Sorry, all you VMS fans
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1406 out there.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1407
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1408 @unnumberedsec 1.3: Getting Started
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1409
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1410 @node Q1.3.1, Q1.3.2, Q1.2.12, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1411 @unnumberedsubsec Q1.3.1: What is an @file{init.el} or @file{.emacs} and is there a sample one?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1412
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1413 The @file{init.el} or @file{.emacs} file is used to customize XEmacs to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1414 your tastes. Starting in 21.4, the preferred location for the init file
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1415 is @file{~/.xemacs/init.el}; in previous versions, it was
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1416 @file{~/.emacs}. 21.4 still accepts the old location, but the first
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1417 time you run it, it will ask to migrate your file to the new location.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1418 If you answer yes, the file will be moved, and a "compatibility"
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1419 @file{.emacs} file will be placed in the old location so that you can
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1420 still run older versions of XEmacs, and versions of GNU Emacs, which
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1421 expect the old location. The @file{.emacs} file present is just a stub
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1422 that loads the real file in @file{~/.xemacs/init.el}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1423
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1424 No two init files are alike, nor are they expected to be alike, but
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1425 that's the point. The XEmacs distribution contains an excellent starter
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1426 example in the @file{etc/} directory called @file{sample.init.el}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1427 (starting in 21.4) or @file{sample.emacs} in older versions. Copy this
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1428 file from there to @file{~/.xemacs/init.el} (starting in 21.4) or
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1429 @file{~/.emacs} in older versions, where @samp{~} means your home
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1430 directory, of course. Then edit it to suit.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1431
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1432 You may bring the @file{sample.init.el} or @file{sample.emacs} file into
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1433 an XEmacs buffer from the menubar. (The menu entry for it is always
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1434 under the @samp{Help} menu, but its location under that has changed in
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1435 various versions. Recently, look under the @samp{Samples} submenu.) To
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1436 determine the location of the @file{etc/} directory type the command
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1437 @kbd{C-h v data-directory @key{RET}}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1438
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1439 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1440 @unnumberedsubsec Q1.3.2: Where do I put my @file{init.el} file?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1441
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1442 @file{init.el} is the name of the init file starting with 21.4, and is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1443 located in the subdirectory @file{.xemacs/} of your home directory. In
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1444 prior versions, the init file is called @file{.emacs} and is located in
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1445 your home directory.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1446
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1447 Your home directory under Windows is determined by the @samp{HOME}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1448 environment variable. If this is not set, it defaults to @samp{C:\}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1449 To set this variable, modify @file{AUTOEXEC.BAT} under Windows 95/98, or
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1450 select @samp{Control Panel->System->Advanced->Environment Variables...}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1451 under Windows NT/2000.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1452
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1453 @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1454 @unnumberedsubsec Q1.3.3: Can I use the same @file{init.el} with the other Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1455
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1456 Yes. The sample @file{init.el} included in the XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1457 distribution will show you how to handle different versions and flavors
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1458 of Emacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1459
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1460 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1461 @unnumberedsubsec Q1.3.4: Any good XEmacs tutorials around?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1462
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1463 There's the XEmacs tutorial available from the Help Menu under
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1464 @samp{Help->Tutorials}, or by typing @kbd{C-h t}. To check whether
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1465 it's available in a non-english language, type @kbd{C-u C-h t TAB}, type
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1466 the first letters of your preferred language, then type @key{RET}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1467
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1468 @comment There's an Emacs Lisp tutorial at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1469 @comment
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1470 @comment @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1471 @comment @uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1472 @comment @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1473 @comment
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1474 @comment @email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1475 @comment page at
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1476 @comment @iftex
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1477 @comment @*
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1478 @comment @end iftex
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1479 @comment @uref{http://petaxp.rug.ac.be/~erik/xemacs/}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1480
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1481 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1482 @unnumberedsubsec Q1.3.5: May I see an example of a useful XEmacs Lisp function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1483
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1484 The following function does a little bit of everything useful. It does
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1485 something with the prefix argument, it examines the text around the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1486 cursor, and it's interactive so it may be bound to a key. It inserts
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1487 copies of the current word the cursor is sitting on at the cursor. If
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1488 you give it a prefix argument: @kbd{C-u 3 M-x double-word} then it will
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1489 insert 3 copies.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1490
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1491 @lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1492 (defun double-word (count)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1493 "Insert a copy of the current word underneath the cursor"
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1494 (interactive "*p")
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1495 (let (here there string)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1496 (save-excursion
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1497 (forward-word -1)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1498 (setq here (point))
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1499 (forward-word 1)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1500 (setq there (point))
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1501 (setq string (buffer-substring here there)))
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1502 (while (>= count 1)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1503 (insert string)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1504 (decf count))))
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1505 @end lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1506
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1507 The best way to see what is going on here is to let XEmacs tell you.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1508 Put the code into an XEmacs buffer, and do a @kbd{C-h f} with the cursor
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1509 sitting just to the right of the function you want explained. Eg. move
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1510 the cursor to the SPACE between @code{interactive} and @samp{"*p"} and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1511 hit @kbd{C-h f} to see what the function @code{interactive} does. Doing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1512 this will tell you that the @code{*} requires a writable buffer, and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1513 @code{p} converts the prefix argument to a number, and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1514 @code{interactive} allows you to execute the command with @kbd{M-x}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1515
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1516 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1517 @unnumberedsubsec Q1.3.6: And how do I bind it to a key?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1518
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1519 To bind to a key do:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1520
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1521 @lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1522 (global-set-key "\C-cd" 'double-word)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1523 @end lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1524
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1525 Or interactively, @kbd{M-x global-set-key} and follow the prompts.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1526
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1527 @node Q1.3.7, Q1.3.8, Q1.3.6, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1528 @unnumberedsubsec Q1.3.7: What's the difference between a macro and a function?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1529
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1530 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1531
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1532 @dfn{Macros} enable you to define new control constructs and other
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1533 language features. A macro is defined much like a function, but instead
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1534 of telling how to compute a value, it tells how to compute another Lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1535 expression which will in turn compute the value. We call this
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1536 expression the @dfn{expansion} of the macro.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1538 Macros can do this because they operate on the unevaluated expressions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1539 for the arguments, not on the argument values as functions do. They can
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1540 therefore construct an expansion containing these argument expressions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1541 or parts of them.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1542
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1543 Do not confuse the two terms with @dfn{keyboard macros}, which are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1544 another matter, entirely. A keyboard macro is a key bound to several
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1545 other keys. Refer to manual for details.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1546
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1547 @node Q1.3.8, Q1.4.1, Q1.3.7, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1548 @unnumberedsubsec Q1.3.8: What is @code{Custom}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1549
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1550 @code{Custom} is a system for customizing XEmacs options.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1551
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1552 You can access @code{Advanced (Customize)} from the @code{Options} menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1553 or invoking one of customize commands by typing eg.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1554 @kbd{M-x customize}, @kbd{M-x customize-face},
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1555 @kbd{M-x customize-variable} or @kbd{M-x customize-apropos}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1556
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1557 There is also new @samp{browser} mode for Customize.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1558 Try it out with @kbd{M-x customize-browse}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1559
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1560 @unnumberedsec 1.4: Getting Help
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1561
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1562 @node Q1.4.1, Q1.4.2, Q1.3.8, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1563 @unnumberedsubsec Q1.4.1: Where can I get help?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1564
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1565 Probably the easiest way, if everything is installed, is to use Info, by
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1566 pressing @kbd{C-h i}, or looking for an Info item on the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1567 Help Menu. @kbd{M-x apropos} can be used to look for particular commands.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1568
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1569 For items not found in the manual, try reading this FAQ
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1570 and reading the Usenet group comp.emacs.xemacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1571
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1572 If you choose to post to a newsgroup, @strong{please use
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1573 comp.emacs.xemacs}. Please do not post XEmacs related questions to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1574 gnu.emacs.help.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1575
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1576 If you cannot post or read Usenet news, there is a corresponding mailing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1577 list @email{xemacs-news@@xemacs.org} which is available. It can be
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1578 subscribed to via the Mailman Web interface or by sending mail to to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1579 @email{xemacs-news-request@@xemacs.org} with @samp{subscribe} in the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1580 body of the message. See also
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1581 @uref{http://www.xemacs.org/Lists/#xemacs-news}. To cancel a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1582 subscription, you may use the @email{xemacs-news-request@@xemacs.org}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1583 address or the Web interface. Send a message with a subject of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1584 @samp{unsubscribe} to be removed.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1585
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1586 @node Q1.4.2, Q1.4.3, Q1.4.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1587 @unnumberedsubsec Q1.4.2: Which mailing lists are there?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1588
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1589 For complete, up-to-date info on the lists and how to subscribe, see
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1590 @uref{http://www.xemacs.org/Lists/}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1591
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1592 @table @samp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1593
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1594 @item comp.emacs.xemacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1595 is a Usenet newsgroup
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1596 for XEmacs users to discuss problems and issues that arise
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1597 for them. It's not generally an appropriate place to ask
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1598 about apparent bugs (use @samp{xemacs-beta}), or future plans
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1599 (use @samp{xemacs-design}).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1600
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1601 @item xemacs-announce
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1602 is a read-only, low
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1603 volume list for announcements concerning the XEmacs project
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1604 and new releases of the XEmacs software.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1605
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1606 @item xemacs-beta
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1607 is an open list for bug reports about beta versions of XEmacs. This
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1608 includes the bug reports themselves, by both users and developers, as
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1609 well as queries, follow-ups, and discussions further determining their
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1610 nature and status. This is the primary channel for this kind of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1611 discussion; related code changes will usually not be applied until
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1612 they have been discussed here. When such discussions touch on
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1613 significant changes to the code (in particular, structural changes),
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1614 or on changes to API's or external functionality, they should be moved
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1615 to @samp{xemacs-design}. Requests and proposals for non-bug-related
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1616 changes do not belong on @samp{xemacs-beta}, and should be sent to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1617 @samp{xemacs-design} instead.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1618
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1619 @item xemacs-beta-ja
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1620 is an open list for bug
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1621 reports and design discussion related to Mule features,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1622 including Japanese handling, in beta versions of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1623 Japanese is the preferred language of discussion. For most
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1624 timely presentation to reviewers, please consider sending
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1625 appropriate discussion to @samp{xemacs-mule} or
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1626 @samp{xemacs-design} in English when convenient for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1627 the participants in discussion. When possible, bug reports
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1628 not related to Mule (including Japanese) should be reported on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1629 @samp{xemacs-beta} in English.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1630
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1631 @item xemacs-buildreports
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1632 is an open list for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1633 submission of build-reports on beta versions of XEmacs. For
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1634 information on what the build-reports should contain, please
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1635 see the `etc/BETA' file which is included in each beta
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1636 distribution.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1637
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1638 @item xemacs-cvs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1639 is a read-only list for notices
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1640 and information on what has been committed to the XEmacs CVS
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1641 trees, by whom, and for what.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1642
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1643 @item xemacs-design
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1644 is an open list for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1645 discussing the design of XEmacs. This includes discussion
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1646 about planned and ongoing changes to functionality and API
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1647 changes and additions as well as requests for them. This is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1648 the primary channel for this kind of discussion; related code
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1649 changes will usually not be applied until they have been
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1650 discussed here. This does not include bug reports, which go
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1651 to @samp{xemacs-beta}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1652
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1653 @item xemacs-mule
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1654 is an open mailing list for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1655 discussion of International extensions to XEmacs including
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1656 Mule, XIM, I18n issues, etc, and is not confined to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1657 developmental issues. This list is not restricted to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1658 English, postings in all languages are welcome.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1659
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1660 @item xemacs-news
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1661 is an open list for discussion
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1662 and bug reporting for XEmacs. This mailing list is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1663 bi-directionally gatewayed with the USENET newsgroup
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1664 comp.emacs.xemacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1665
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1666 @item xemacs-nt
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1667 is a developers-only mailing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1668 list and is intended for people who wish to work actively on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1669 the porting of XEmacs to Microsoft Windows NT and Microsoft
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1670 Windows '95.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1671
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1672 @item xemacs-patches
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1673 is an open, moderated
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1674 list for submission of patches to the XEmacs distribution
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1675 and its packages. Anyone may subscribe or submit to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1676 xemacs-patches, but all submissions are reviewed by the list
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1677 moderator before they are distributed to the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1678 list. Discussion is not appropriate on xemacs-patches.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1679
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1680 @item xemacs-users-ja
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1681 is an open list for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1682 discussion and bug reporting for XEmacs. Japanese is the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1683 preferred language of discussion. It is not gated to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1684 comp.emacs.xemacs or the @samp{xemacs} list. For
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1685 fastest response, bugs not specifically related to Japanese
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1686 or Mule features should be reported on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1687 @samp{xemacs-beta} (in English).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1688
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1689 @item xemacs-users-ru
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1690 is an open list for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1691 discussion and bug reporting for XEmacs. Russian is the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1692 preferred language of discussion. It is not gated to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1693 comp.emacs.xemacs or the @samp{xemacs} list. For
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1694 fastest response, bugs not specifically related to Russian
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1695 or Mule features should be reported on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1696 @samp{xemacs-beta} (in English).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1697 @end table
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1698
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1699 @node Q1.4.3, Q1.4.4, Q1.4.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1700 @unnumberedsubsec Q1.4.3: Where are the mailing lists archived?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1701
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1702 The archives can be found at @uref{http://list-archive.xemacs.org}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1703
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1704 @node Q1.4.4, Q1.4.5, Q1.4.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1705 @unnumberedsubsec Q1.4.4: How can I get two instances of info?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1706
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1707 Before 21.4, you can't. The @code{info} package does not provide for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1708 multiple info buffers. In 21.4, this should be fixed. #### how?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1709
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1710 @node Q1.4.5, Q1.5.1, Q1.4.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1711 @unnumberedsubsec Q1.4.5: How do I add new Info directories?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1712
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1713 You use something like:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1714
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1715 @lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1716 (setq Info-directory-list (cons
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1717 (expand-file-name "~/info")
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1718 Info-default-directory-list))
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1719 @end lisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1720
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1721 @email{davidm@@prism.kla.com, David Masterson} writes:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1722
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1723 @quotation
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1724 Emacs Info and XEmacs Info do many things differently. If you're trying to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1725 support a number of versions of Emacs, here are some notes to remember:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1726
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1727 @enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1728 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1729 Emacs Info scans @code{Info-directory-list} from right-to-left while
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1730 XEmacs Info reads it from left-to-right, so append to the @emph{correct}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1731 end of the list.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1732
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1733 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1734 Use @code{Info-default-directory-list} to initialize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1735 @code{Info-directory-list} @emph{if} it is available at startup, but not
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1736 all Emacsen define it.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1737
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1738 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1739 Emacs Info looks for a standard @file{dir} file in each of the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1740 directories scanned from #1 and magically concatenates them together.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1741
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1742 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1743 XEmacs Info looks for a @file{localdir} file (which consists of just the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1744 menu entries from a @file{dir} file) in each of the directories scanned
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1745 from #1 (except the first), does a simple concatenation of them, and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1746 magically attaches the resulting list to the end of the menu in the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1747 @file{dir} file in the first directory.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1748 @end enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1749
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1750 Another alternative is to convert the documentation to HTML with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1751 texi2html and read it from a web browser like Lynx or W3.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1752 @end quotation
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1753
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1754 @unnumberedsec 1.5: Contributing to XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1755
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1756 @node Q1.5.1, Q1.5.2, Q1.4.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1757 @unnumberedsubsec Q1.5.1: How do I submit changes to the FAQ?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1758
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1759 The FAQ is actively maintained and modified regularly. All links should
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1760 be up to date. Unfortunately, some of the information is out of date --
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1761 a situation which the FAQ maintainer is working on. All submissions are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1762 welcome, please e-mail submissions to @email{faq@@xemacs.org, XEmacs FAQ
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1763 maintainers}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1764
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1765 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1766 If you think you have a better way of answering a question, or think a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1767 question should be included, we'd like to hear about it. Questions and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1768 answers included into the FAQ will be edited for spelling and grammar
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1769 and will be attributed. Answers appearing without attribution are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1770 either from versions of the FAQ dated before May 1996 or are from
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1771 previous FAQ maintainers. Answers quoted from Usenet news articles will
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1772 always be attributed, regardless of the author.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1773
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1774 @node Q1.5.2, Q1.5.3, Q1.5.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1775 @unnumberedsubsec Q1.5.2: How do I become a beta tester?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1776
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1777 Send an email message to @email{xemacs-beta-request@@xemacs.org} with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1778 the line @samp{subscribe} in the body of the message.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1779
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1780 Be prepared to get your hands dirty, as beta testers are expected to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1781 identify problems as best they can.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1782
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1783 @node Q1.5.3, Q1.5.4, Q1.5.2, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1784 @unnumberedsubsec Q1.5.3: How do I contribute to XEmacs itself?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1785
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1786 It depends on the knowledge and time you possess. If you are able, by
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1787 all means become a beta tester (@pxref{Q1.5.2}). If you are a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1788 programmer, try to build XEmacs and see if you can improve it.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1789
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1790 Otherwise, you can still help by using XEmacs as your everyday editor
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1791 (for pre-built binary versions, @pxref{Q1.1.2}) and reporting bugs you
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1792 find to the mailing list.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1793
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1794 Another area where we need help is the documentation: We need good
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1795 documentation for building XEmacs and for using it. This FAQ is a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1796 small step in that direction.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1797
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1798 Ben Wing @email{ben@@xemacs.org} writes:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1799
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1800 @quotation
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1801 BTW if you have a wish list of things that you want added, you have to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1802 speak up about it! More specifically, you can do the following if you
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1803 want a feature added (in increasing order of usefulness):
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1804
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1805 @itemize @bullet
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1806 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1807 Make a posting about a feature you want added.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1808
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1809 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1810 Become a beta tester and make more postings about those same features.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1811
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1812 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1813 Convince us that you're going to use the features in some cool and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1814 useful way.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1815
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1816 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1817 Come up with a clear and well-thought-out API concerning the features.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1818
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1819 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1820 Write the code to implement a feature and send us a patch.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1821 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1822
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1823 (not that we're necessarily requiring you to write the code, but we can
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1824 always hope :)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1825 @end quotation
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
1826
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1827 @node Q1.5.4, Q1.5.5, Q1.5.3, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1828 @unnumberedsubsec Q1.5.4: How do I get started developing XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1829
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1830 First, get yourself set up under CVS so that you can access the CVS
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1831 repositories containing the XEmacs sources and the XEmacs packages.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1832
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1833 Next, set up your layout. This is important, as a good layout will
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1834 facilitate getting things done efficiently, while a bad layout will could
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1835 lead to disaster, as you can't figure out which code is the most recent,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1836 which can be thrown away, etc. We suggest the following layout: (feel free
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1837 to make changes)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1838
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1839 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1840 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1841 Everything goes under @file{/src/xemacs} (use a different directory if
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1842 you want). From now, instead of saying @file{/src/xemacs}, we use
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1843 @file{<xsrc-top>}, to make it easier in case someone picked a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1844 different directory.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1845
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1846 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1847 Package source is in @file{<xsrc-top>/package-src}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1848
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1849 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1850 Installed packages go under @file{<xsrc-top>/xemacs-packages}, and
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1851 @file{<xsrc-top>/mule-packages}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1852
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1853 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1854 A "workspace" is a complete copy of the sources, in which you do work of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1855 a particular kind. Workspaces can be differentiated by which branch of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1856 the source tree they extend off of -- usually either the stable or
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1857 experimental, unless other branches have been created (for example, Ben
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1858 created a branch for his Mule work because (1) the project was long-term
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1859 and involved an enormous number of changes, (2) people wanted to be able
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1860 to look at what his work in progress, and (3) he wanted to be able to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1861 check things in and in general use source-code control, since it was a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1862 long-term project). Workspaces are also differentiated in what their
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1863 purpose is -- general working workspace, workspace for particular
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1864 projects, workspace keeping the latest copy of the code in one of the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1865 branches without mods, etc.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1866
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1867 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1868 Various workspaces are subdirectories under @file{<xsrc-top>}, e.g.:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1869
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1870 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1871 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1872 @file{<xsrc-top>/working} (the workspace you're actively working on,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1873 periodically synched up with the latest trunk)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1874
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1875 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1876 @file{<xsrc-top>/stable} (for making changes to the stable version of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1877 XEmacs, which sits on a branch)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1878
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1879 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1880 @file{<xsrc-top>/unsigned-removal} (a workspace for a specific, difficult
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1881 task that's going to affect lots of source and take a long time, and
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1882 so best done in its own workspace without the interference of other
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1883 work you're doing. Also, you can commit just this one large change,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1884 separate from all the other changes).
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1885
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1886 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1887 @file{<xsrc-top>/latest} (a copy of the latest sources on the trunk,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1888 i.e. the experimental version of XEmacs, with no patches in it;
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1889 either update it periodically, by hand, or set up a cron job to do it
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1890 automatically). Set it up so it can be built, and build it so you
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1891 have a working XEmacs. (Building it might also go into the cron job.)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1892
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1893 This workspace serves a number of purposes:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1894 @enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1895 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1896 You always have a recent version of XEmacs you can compare
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1897 against when something you're working on breaks. It's true
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1898 that you can do this with cvs diff, but when you need to do
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1899 some serious investigation, this method just fails.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1900 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1901 You (almost) always have a working, up-to-date executable that
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1902 can be used when your executable is crashing and you need to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1903 keep developing it, or when you need an `xemacs' to build
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1904 packages, etc.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1905 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1906 When creating new workspaces, you can just copy the `latest'
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1907 workspace using GNU @code{cp -a}. You have all the .elc's built,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1908 everything else probably configured, any spare files in place
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1909 (e.g. some annoying xpm.dll under Windows, etc.).
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1910 @end enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1911
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1912 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1913 @file{<xsrc-top>/latest-stable/} (equivalent to @file{<xsrc-top>/latest/}, but
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1914 for the Stable branch of XEmacs, rather than the Experimental branch
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1915 of XEmacs). This may or may not be necessary depending on how much
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1916 development you do of the stable branch.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1917 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1918
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1919 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1920 @file{<xsrc-top>/xemacsweb} is a workspace for working on the XEmacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1921 web site.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1922
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1923 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1924 @file{<xsrc-top>/in-patches} for patches received from email and saved
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1925 to files.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1926
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1927 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1928 @file{<xsrc-top>/out-patches} for locally-generated patches to be sent
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1929 to @email{xemacs-patches@@xemacs.org}. Less useful now that the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1930 patcher util has been developed.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1931
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1932 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1933 @file{<xsrc-top>/build}, for build trees when compiling and testing XEmacs with
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1934 various configuration options turned off and on. The scripts in
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1935 xemacs-builds/ben (see below) can be used to automate building XEmacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1936 workspaces with many different configuration options and automatically
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1937 filtering out the normal output so that you see only the abnormal
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1938 output.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1939
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1940 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1941 @file{<xsrc-top>/xemacs-builds}, for the xemacs-builds module, which you need
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1942 to check out separately in CVS. This contains scripts used for building
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1943 XEmacs, automating and simplifying using CVS, etc. Under various
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1944 people's directories are their own build and other scripts. The
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1945 currently most-maintained scripts are under ben/, where there are easily
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1946 configurable scripts that can be used to easily build any workspace
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1947 (esp. if you've more or less followed the layout presented above)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1948 unattended, with one or more configuration states (there's a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1949 pre-determined list of the most useful, but it's easy to change). The
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1950 output is filtered and split up in various ways so that you can identify
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1951 which output came from where, and you can see the output either full or
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1952 with all "normal" output except occasional status messages filtered so
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1953 that you only see the abnormal ones.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1954 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1955
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1956 @node Q1.5.5, Q1.6.1, Q1.5.4, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1957 @unnumberedsubsec Q1.5.5: What's the basic layout of the code?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1958
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1959 The file @file{configure} is a shell script to acclimate XEmacs to the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1960 oddities of your processor and operating system. It will create a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1961 file named @file{Makefile} (a script for the @file{make} program), which helps
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1962 automate the process of building and installing emacs. See INSTALL
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1963 for more detailed information.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1964
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1965 The file @file{configure.in} is the input used by the autoconf program to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1966 construct the @file{configure} script. Since XEmacs has configuration
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1967 requirements that autoconf can't meet, @file{configure.in} uses an unholy
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1968 marriage of custom-baked configuration code and autoconf macros; it
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1969 may be wise to avoid rebuilding @file{configure} from @file{configure.in} when
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1970 possible.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1971
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1972 The file @file{Makefile.in} is a template used by @file{configure} to create
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1973 @file{Makefile}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1974
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1975 There are several subdirectories:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1976
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1977 @enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1978 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1979 @file{src} holds the C code for XEmacs (the XEmacs Lisp interpreter and its
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1980 primitives, the redisplay code, and some basic editing functions).
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1981 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1982 @file{lisp} holds the XEmacs Lisp code for XEmacs (most everything else).
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1983 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1984 @file{lib-src} holds the source code for some utility programs for use by
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1985 or with XEmacs, like movemail and etags.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1986 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1987 @file{etc} holds miscellaneous architecture-independent data files
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1988 XEmacs uses, like the tutorial text. The contents of the @file{lisp},
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1989 @file{info} and @file{man} subdirectories are architecture-independent too.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1990 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1991 @file{lwlib} holds the C code for the X toolkit objects used by XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1992 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1993 @file{info} holds the Info documentation tree for XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1994 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1995 @file{man} holds the source code for the XEmacs online documentation.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1996 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1997 @file{nt} holds files used compiling XEmacs under Microsoft Windows.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1998 @end enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
1999
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2000 @unnumberedsec 1.6: Politics (XEmacs vs. GNU Emacs)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2001
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2002 @node Q1.6.1, Q1.6.2, Q1.5.5, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2003 @unnumberedsubsec Q1.6.1: What is GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2004
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2005 GNU Emacs and XEmacs are related open-source text editors. Both
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2006 derive from GNU Emacs version 18; the split between the two happened
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2007 in 1991 (for comparison, the oldest versions of GNU Emacs date from
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2008 1984). For information on GNU Emacs, see
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2009 @uref{http://www.gnu.org/software/emacs/emacs.html}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2010
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2011 @node Q1.6.2, Q1.6.3, Q1.6.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2012 @unnumberedsubsec Q1.6.2: How does XEmacs differ from GNU Emacs?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2013
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2014 For a detailed description of the differences between GNU Emacs and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2015 XEmacs and a detailed history of XEmacs, check out the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2016 @example
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2017 @uref{http://www.xemacs.org/About/XEmacsVsGNUemacs.html, NEWS file}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2018 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2019
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2020 @table @strong
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2021 @item User-Visible Editing Features
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2022 XEmacs in general tries hard to conform to exist user-interface
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2023 standards, and to work "out-of-the-box" without the need for obscure
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2024 customization changes. GNU Emacs, particularly version 21, has gotten
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2025 better about this (in many cases by copying the XEmacs behavior!), but
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2026 still has some weirdnesses. For example, the standard method of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2027 selecting text using the Shift key works out-of-the-box in XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2028
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2029 XEmacs has a built-in toolbar. Four toolbars can actually be configured
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2030 simultaneously: top, bottom, left, and right toolbars.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2031
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2032 XEmacs has vertical and horizontal scrollbars. Unlike in GNU Emacs 19
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2033 (which provides a primitive form of vertical scrollbar), these are true
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2034 toolkit scrollbars. A look-alike Motif scrollbar is provided for those
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2035 who don't have Motif. (Even for those who do, the look-alike may be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2036 preferable as it is faster.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2037
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2038 XEmacs has buffer tabs along the top of the frame (although the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2039 position can be changed) that make it very easy to switch buffers.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2040
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2041 The menubar under XEmacs is better-designed, with more thought put into
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2042 it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2043
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2044 XEmacs can ask questions using popup dialog boxes. Any command executed
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2045 from a menu will ask yes/no questions with dialog boxes, while commands
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2046 executed via the keyboard will use the minibuffer.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2047
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2048 XEmacs under MS Windows provides uses the standard file-dialog box for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2049 opening and saving files. Standard menu-accelerator behavior can easily
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2050 be enabled using the Options menu, and integrates well into the existing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2051 keymap.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2052
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2053 XEmacs has (still experimental) support for widgets of various sorts --
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2054 buttons, text boxes, sliders, progress bars, etc. A progress bar is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2055 used in font lock to show the progress.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2056
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2057 Experimental support for drag-and-drop protocols is provided from
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2058 XEmacs 21.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2059
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2060 @item General Platform Support
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2061 If you're running on a machine with audio hardware, you can specify
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2062 sound files for XEmacs to play instead of the default X beep. See the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2063 documentation of the function load-sound-file and the variable
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2064 sound-alist. XEmacs also supports the network sound protocols NAS and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2065 EsounD.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2066
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2067 XEmacs 21 supports database protocols with LISP bindings, currently
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2068 including Berkeley DB, LDAP, and PostgreSQL (21.2 only).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2069
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2070 XEmacs 20 and 21 support the Canna, Wnn, and SJ3 Japanese input method
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2071 servers directly, as well as through the X Input Method (XIM)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2072 protocol. GNU Emacs 20 supports only the XIM protocol. Both Emacsen
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2073 support the Quail family of input methods (implemented in LISP) for many
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2074 languages.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2075
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2076 XEmacs provides support for ToolTalk on systems that have
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2077 it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2078
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2079 @item Packaged LISP Libraries
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2080 Many more packages are provided standard with XEmacs than with GNU Emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2081 19 or 20.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2082
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2083 XEmacs 21 supports an integrated package management system which uses
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2084 EFS to download, then automatically install prebuilt LISP
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2085 libraries. This allows XEmacs users much more straightforward access to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2086 the "latest and greatest" version of any given library.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2087
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2088 We are working on a standard method for enabling, disabling and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2089 otherwise controlling packages, which should make them very easy to use.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2090
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2091 @item LISP Programming
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2092 From XEmacs 20 on, characters are a separate type. Characters can be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2093 converted to integers (and many integers can be converted to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2094 characters), but characters are not integers. GNU Emacs 19, XEmacs 19,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2095 Mule 2.3 (an extensive patch to GNU Emacs 18.55 and 19.x), and GNU Emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2096 20 (incorporating Mule 3 and later Mule 4) represent them as integers.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2097
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2098 From XEmacs 20 on, the buffer is treated as an array of characters, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2099 the representation of buffer text is not exposed to LISP. The GNU Emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2100 20 functions like buffer-as-multibyte are not supported.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2101
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2102 In XEmacs, events are first-class objects. GNU Emacs 19 represents them
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2103 as integers, which obscures the differences between a key gesture and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2104 the ancient ASCII code used to represent a particular overlapping subset
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2105 of them.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2106
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2107 In XEmacs, keymaps are first-class opaque objects. GNU Emacs 19
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2108 represents them as complicated combinations of association lists and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2109 vectors. If you use the advertised functional interface to manipulation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2110 of keymaps, the same code will work in XEmacs, GNU Emacs 18, and GNU
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2111 Emacs 19; if your code depends on the underlying implementation of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2112 keymaps, it will not.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2113
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2114 XEmacs uses "extents" to represent all non-textual aspects of buffers;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2115 GNU Emacs 19 uses two distinct objects, "text properties" and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2116 "overlays", which divide up the functionality between them. Extents are
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2117 a superset of the union of the functionality of the two GNU Emacs data
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2118 types. The full GNU Emacs 19 interface to text properties and overlays
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2119 is supported in XEmacs (with extents being the underlying
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2120 representation).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2121
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2122 Extents can be made to be copied into strings, and then restored, by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2123 kill and yank. Thus, one can specify this behavior on either "extents"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2124 or "text properties", whereas in GNU Emacs 19 text properties always
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2125 have this behavior and overlays never do.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2126
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2127 @item Window System Programming Interface
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2128 XEmacs uses the MIT "Xt" toolkit instead of raw Xlib calls, which makes
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2129 it be a more well-behaved X citizen (and also improves portability). A
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2130 result of this is that it is possible to include other Xt "Widgets" in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2131 the XEmacs window. Also, XEmacs understands the standard Xt command-line
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2132 arguments.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2133
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2134 XEmacs supports Motif applications, generic Xt (e.g. Athena)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2135 applications, and raw Xlib applications. An XEmacs variant which
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2136 supports GTK+ is available (integration as an option in the XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2137 mainline is planned for XEmacs 22), although code to take advantage of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2138 the support is as yet scarce.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2139
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2140 An XEmacs frame can be placed within an "external client widget" managed
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2141 by another application. This allows an application to use an XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2142 frame as its text pane rather than the standard Text widget that is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2143 provided with Motif or Athena.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2144
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2145 @item Community Participation
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2146 Joining the XEmacs development team is simple. Mail to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2147 @email{xemacs-beta@@xemacs.org, XEmacs Developers}, and you're in! (If
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2148 you want to be, of course. You're also welcome to just post
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2149 development-related questions and bug reports.) The GNU Emacs
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2150 development team and internal mailing lists are still by invitation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2151 only.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2152
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2153 The "bleeding edge" of mainline XEmacs development is available by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2154 anonymous CVS as are some subsidiary branches (check out the xemacs-gtk
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2155 module for the latest in GUI features!)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2156
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2157 Development and maintenance of Lisp libraries is separated from the core
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2158 editor development at a fairly low level. This provides better
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2159 modularization and a better division of responsibility between external
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2160 library maintainers and the XEmacs core development team. Even for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2161 packages the size of Gnus, XEmacs users normally have access to a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2162 pre-built version within a few weeks of a major release, and minor
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2163 updates often within days.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2164
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2165 CVS commit authority is broadly dispersed. Recognized maintainers of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2166 LISP libraries who are willing to maintain XEmacs packaged versions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2167 automatically qualify for CVS accounts for their packages.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2168 @end table
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2169
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2170 @node Q1.6.3, Q1.6.4, Q1.6.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2171 @unnumberedsubsec Q1.6.3: How much does XEmacs differ?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2172
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2173 RMS has asserted at times that XEmacs is merely a "patch" on top of
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2174 GNU Emacs (@pxref{Q1.6.4}). In fact, probably not more than 5% of the
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2175 code, if that, remains unchanged, and nearly 14 years of work has gone
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2176 into XEmacs at this point. (GNU Emacs itself is only than 20 years
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2177 old, and thus XEmacs has existed as a separate product for over 2/3 of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2178 the lifespan of GNU Emacs.) As a point of comparison, XEmacs 21.5 has
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2179 perhaps 65,000 more lines of C code than GNU Emacs 21.2.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2180
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2181 However, the XEmacs developers strive to keep their code compatible with
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2182 GNU Emacs, especially on the Lisp level. Much effort goes into
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2183 "synching" the XEmacs Elisp code with recent GNU Emacs releases so as to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2184 benefit from GNU Emacs development work. (In contrast, almost no code
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2185 from XEmacs has made it into GNU Emacs, and in fact the GNU Emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2186 developers are instructed by RMS not to even look at XEmacs source code!
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2187 This stems from self-imposed licensing restrictions on the part of GNU
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2188 Emacs -- and almost certainly out of hostility, as well.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2189
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2190 @node Q1.6.4, Q1.6.5, Q1.6.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2191 @unnumberedsubsec Q1.6.4: Is XEmacs "GNU"?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2192
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2193 RMS insists on the term "GNU XEmacs" and maintains that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2194
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2195 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2196 XEmacs is GNU software because it's a modified version of a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2197 GNU program. And it is GNU software because the FSF is the copyright
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2198 holder for most of it, and therefore the legal responsibility for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2199 protecting its free status falls on us whether we want it or not. This
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2200 is why the term "GNU XEmacs" is legitimate.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2201 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2202
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2203 In fact, FSF is @emph{not} the copyright holder for most of the code,
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2204 as very little unmodified FSF code remains (@pxref{Q1.6.3}).
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2205
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2206 Furthermore, RMS's assertion that XEmacs is "GNU" seems rather bizarre
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2207 to the XEmacs developers given RMS's hostility and general lack of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2208 interest in cooperation. "GNU" software in general is part of the GNU
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2209 Project, is distributed by it on their FTP site, and receives support
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2210 (or at least cooperation), as well as implicit endorsement, from it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2211 The GNU Project, however, has never supported XEmacs and never
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2212 distributed XEmacs, and RMS's hostility is the farthest thing possible
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2213 from an endorsement. In fact, the GNU Project distributes a number of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2214 non-GNU software projects on the FSF web site, but again XEmacs is not
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2215 one of them.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2216
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2217 @node Q1.6.5, Q1.6.6, Q1.6.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2218 @unnumberedsubsec Q1.6.5: What is the correct way to refer to XEmacs and GNU Emacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2219
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2220 Unfortunately even the naming of these two applications has become
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2221 politicized. Much of this stems from RMS, who has a history of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2222 politicizing similar issues. (Compare the controversy over "Lignux"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2223 and "GNU/Linux".) We would prefer that the terms "XEmacs" and "GNU
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2224 Emacs" be used, which are neutral and acceptable to most people. RMS,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2225 however, is not willing to accept these terms. He insists that, if
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2226 his product is called "GNU Emacs", then ours must be called "GNU
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2227 XEmacs". (For our opinion of this term, @xref{Q1.6.4}.) On the other
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2228 hand, if our product is to be called "XEmacs", as we prefer, then his
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2229 product must simply be called "Emacs". The intent of this seems
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2230 clear: RMS wants to make sure the names reflect his view that his
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2231 version is the "real" Emacs and ours is merely a derivative,
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2232 second-class product (@pxref{Q1.6.3}).
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2233
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2234 The XEmacs developers hope that you will use the neutral terms
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2235 "XEmacs" and "GNU Emacs" for these two specific products. "Emacs", on
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2236 the other hand, is a generic term for a class of programmable text
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2237 editors with a similar look-and-feel, and usually a Lisp-based
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2238 extension language. These trace themselves back to early editors such
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2239 as EINE, ZWEI, ZMACS and Multics Emacs. @xref{A History of Emacs,,,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2240 internals, XEmacs Internals Manual}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2241
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2242 We also call upon RMS, in the spirit of furthering cooperation, to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2243 stop politicizing this issue and use the neutral terms "XEmacs" and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2244 "GNU Emacs". We have already acceded to RMS' wishes in this respect,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2245 and we expect him to do the same. (In the past, the XEmacs developers
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2246 often used the terms "FSF Emacs" or "FSFmacs" or "RMSmacs" in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2247 reference to GNU Emacs; these terms were apparently modeled after RMS'
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2248 own usage of "Gosmacs" and "Gosling Emacs" in reference to Unipress
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2249 Emacs, produced by James Gosling. RMS, however, considers such terms
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2250 to be insulting, so we refrain from using them as much as possible in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2251 preference to GNU Emacs.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2252
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2253 @node Q1.6.6, Q1.7.1, Q1.6.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2254 @unnumberedsubsec Q1.6.6: Why haven't XEmacs and GNU Emacs merged?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2255
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2256 There are currently irreconcilable differences in the views about
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2257 technical, programming, design, organizational and legal matters
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2258 between Richard Stallman (RMS), the author and leader of the GNU Emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2259 project, and the XEmacs development team which provide little hope for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2260 a merge to take place in the short-term future. There have been
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2261 repeated attempts at merging by all of the major XEmacs developers,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2262 starting from the early days of Lucid Emacs (in 1991), but they have
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2263 all failed. RMS has very strong views about how GNU Emacs should be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2264 structured and how his project should be run, and during the repeated
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2265 merge efforts has never demonstrated any realistic interest in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2266 sufficiently compromising or ceding control to allow a middle ground
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2267 to be found. The basic problem seems to be the very different goals
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2268 of RMS and the XEmacs project. The primary goals of the XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2269 project are technical and organizational -- we want to create the best
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2270 editor possible, and to make it as easy as possible for people around
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2271 the world to contribute. The primary goals of RMS, on the other hand,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2272 are political, and GNU Emacs, and any potential merge efforts with
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2273 XEmacs, are strictly subservient to these goals. In fact, in many
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2274 ways RMS sees GNU Emacs as the "poster child" of his aims, the one
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2275 program in the GNU project that above all others must set an example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2276 to the world. (This has to do with the fact that GNU Emacs was the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2277 first program in the GNU project, and the only one that he is still
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2278 personally involved with on a day-to-day basis.) Given his goals, his
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2279 position is completely reasonable -- but unfortunately, makes any
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2280 merge impossible.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2281
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2282 From the XEmacs perspective, the most intractable issues appear to be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2283 legal and organizational, specifically:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2284
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2285 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2286 @item
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2287 RMS requires "legal papers" to be signed for all contributions of code
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2288 to GNU Emacs over 10 lines or so, transferring the copyright and all
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2289 legal rights to the code to the Free Software Foundation. XEmacs does
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2290 not and has never required this, since it has the practical effect of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2291 discouraging individual and in particular corporate contributions --
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2292 corporations will almost never sign away their legal rights to code
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2293 since it makes it impossible to reuse the code in any product that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2294 whose license is not compatible with the GNU General Public License.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2295 Since RMS has shown no inclination to compromise on this issue, a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2296 merge would require that most of the existing XEmacs code would need
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2297 to be thrown away and rewritten -- something the XEmacs developers are
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2298 understandably reluctant to do.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2299
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2300 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2301 A repeated stumbling block in the merge talks has been the issue of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2302 organizational control over the resulting product. RMS has made it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2303 clear that he intends to have final say over design issues in a merged
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2304 Emacs. Unfortunately, RMS and the XEmacs developers have repeatedly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2305 clashed over design decisions, and RMS' insistence on getting his way
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2306 in such disagreements was the very reason for the split in the first
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2307 place. This same issue has come up again and again in merge talks and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2308 we have never been able to come to a satisfactory resolution. To the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2309 extent that RMS is willing to compromise at all, it appears to be of a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2310 purely political rather than technical nature -- "If we support this
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2311 feature of yours, we also get to support this other feature of mine."
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2312 The XEmacs developers cannot see how such a process would lead to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2313 anything but a mess of incompatible things hodgepodged together.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2314
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2315 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2316 Because of the years of separate development, distinct and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2317 incompatible interfaces have developed and merging would be extremely
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2318 difficult even with the above non-technical issues resolved. The
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2319 problem has been exacerbated by the issue of legal papers -- because
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2320 XEmacs code is not "kosher" from RMS' perspective, he discourages
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2321 developers from even looking at it out of legal concerns. Although it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2322 is still possible to read the XEmacs documentation and run the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2323 program, the practical effect of this prohibition has been to strongly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2324 discourage code-sharing and cooperative development -- although a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2325 great deal of GNU Emacs code has been incorporated into XEmacs,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2326 practically none has gone the other direction.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2327 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2328
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2329 If you have a comment to add regarding the merge, it is a good idea to
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2330 avoid posting to the newsgroups, because of the very heated flamewars
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2331 that often result. Mail your questions to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2332 @email{xemacs-beta@@xemacs.org} and @email{emacs-devel@@gnu.org}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2333
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2334 @unnumberedsec 1.7: External Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2335
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2336 @node Q1.7.1, Q1.7.2, Q1.6.6, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2337 @unnumberedsubsec Q1.7.1: What is the package system?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2338
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2339 In order to reduce the size and increase the maintainability of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2340 XEmacs, the majority of the Elisp packages that came with previous
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2341 releases have been unbundled. They have been replaced by the package
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2342 system. Each elisp add-on (or groups of them when they are small) now
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2343 comes in its own tarball that contains a small search hierarchy.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2344
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2345 You select just the ones you need. Install them by untarring them into
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2346 the right place. On startup XEmacs will find them, set up the load
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2347 path correctly, install autoloads, etc, etc.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2348
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2349 @xref{Q2.1.1}, for more info on how to download and install the packages.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2350
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2351 @node Q1.7.2, Q1.7.3, Q1.7.1, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2352 @unnumberedsubsec Q1.7.2: Which external packages are there?
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2353
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2354 @subheading Normal Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2355
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2356 A very broad collection of elisp packages.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2357
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2358 @table @asis
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2359 @item Sun
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2360 Support for Sparcworks.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2361
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2362 @item ada
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2363 Ada language support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2364
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2365 @item apel
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2366 A Portable Emacs Library. Used by XEmacs MIME support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2367
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2368 @item auctex
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2369 Basic TeX/LaTeX support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2370
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2371 @item bbdb
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2372 The Big Brother Data Base: a rolodex-like database program.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2373
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2374 @item build
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2375 Build XEmacs from within (UNIX, Windows).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2376
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2377 @item c-support
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2378 Basic single-file add-ons for editing C code.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2379
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2380 @item calc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2381 Emacs calculator.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2382
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2383 @item calendar
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2384 Calendar and diary support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2385
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2386 @item cc-mode
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2387 C, C++, Objective-C, Java, CORBA IDL, Pike and AWK language support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2388
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2389 @item clearcase
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2390 New Clearcase Version Control for XEmacs (UNIX, Windows).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2391
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2392 @item clearcase
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2393 Support for the Clearcase version control system.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2394
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2395 @item cookie
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2396 "Fortune cookie"-style messages. Includes Spook (suspicious phrases)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2397 and Yow (Zippy quotes).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2398
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2399 @item crisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2400 Crisp/Brief emulation.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2401
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2402 @item debug
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2403 GUD, gdb, dbx debugging support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2404
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2405 @item dictionary
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2406 Interface to RFC2229 dictionary servers.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2407
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2408 @item dired
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2409 The DIRectory EDitor is for manipulating, and running commands on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2410 files in a directory.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2411
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2412 @item docbookide
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2413 DocBook editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2414
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2415 @item ecb
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2416 Emacs source code browser.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2417
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2418 @item ecrypto
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2419 Crypto functionality in Emacs Lisp.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2420
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2421 @item edebug
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2422 An Emacs Lisp debugger.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2423
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2424 @item ediff
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2425 Interface over GNU patch.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2426
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2427 @item edit-utils
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2428 Miscellaneous editor extensions, you probably need this.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2429
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2430 @item edt
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2431 DEC EDIT/EDT emulation.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2432
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2433 @item efs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2434 Treat files on remote systems the same as local files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2435
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2436 @item eieio
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2437 Enhanced Implementation of Emacs Interpreted Objects.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2438
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2439 @item elib
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2440 Portable Emacs Lisp utilities library.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2441
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2442 @item emerge
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2443 Another interface over GNU patch.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2444
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2445 @item erc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2446 ERC is an Emacs InternetRelayChat client.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2447
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2448 @item escreen
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
2449 Multiple editing sessions within a single frame (like screen).
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2450
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2451 @item eshell
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2452 Command shell implemented entirely in Emacs Lisp.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2453
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2454 @item ess
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2455 ESS: Emacs Speaks Statistics.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2456
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2457 @item eterm
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2458 Terminal emulation.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2459
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2460 @item eudc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2461 Emacs Unified Directory Client (LDAP, PH).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2462
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2463 @item footnote
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2464 Footnoting in mail message editing modes.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2465
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2466 @item forms
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2467 Forms editing support (obsolete, use Widget instead).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2468
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2469 @item fortran-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2470 Fortran support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2471
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2472 @item fortran-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2473 Fortran language support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2474
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2475 @item frame-icon
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2476 Set up mode-specific icons for each frame under XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2477
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2478 @item fsf-compat
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2479 GNU Emacs compatibility files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2480
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2481 @item games
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2482 Tetris, Sokoban, and Snake.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2483
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2484 @item general-docs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2485 General documentation. Presently, empty.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2486
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2487 @item gnats
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2488 XEmacs bug reports.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2489
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2490 @item gnus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2491 The Gnus Newsreader and Mailreader.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2492
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2493 @item haskell-mode
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2494 Haskell editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2495
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2496 @item hm--html-menus
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2497 HTML editing.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2498
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2499 @item hyperbole
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2500 Hyperbole: The Everyday Info Manager.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2501
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2502 @item ibuffer
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2503 Advanced replacement for buffer-menu.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2504
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2505 @item idlwave
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2506 Editing and Shell mode for the Interactive Data Language.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2507
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2508 @item igrep
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2509 Enhanced front-end for Grep.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2510
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2511 @item ilisp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2512 Front-end for interacting with Inferior Lisp (external lisps).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2513
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2514 @item ispell
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2515 Spell-checking with GNU ispell.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2516
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2517 @item jde
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2518 Integrated Development Environment for Java.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2519
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2520 @item liece
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2521 IRC (Internet Relay Chat) client for Emacs. Note, this package is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2522 deprecated and will be removed, use riece instead.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2523
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2524 @item mail-lib
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2525 Fundamental lisp files for providing email support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2526
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2527 @item mailcrypt
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2528 Support for messaging encryption with PGP.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2529
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2530 @item mew
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2531 Messaging in an Emacs World; a MIME-based email program.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2532
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2533 @item mh-e
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2534 The XEmacs Interface to the MH Mail System.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2535
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2536 @item mine
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2537 Elisp implementation of the game 'Minehunt'.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2538
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2539 @item misc-games
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2540 Other amusements and diversions.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2541
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2542 @item mmm-mode
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2543 Support for Multiple Major Modes within a single buffer.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2544
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2545 @item net-utils
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2546 Miscellaneous Networking Utilities.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2547
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2548 @item ocaml
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2549 Objective Caml editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2550
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2551 @item oo-browser
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2552 OO-Browser: The Multi-Language Object-Oriented Code Browser.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2553
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2554 @item ocaml
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2555 Objective Caml editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2556
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2557 @item os-utils
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2558 Miscellaneous single-file O/S utilities, for printing, archiving,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2559 compression, remote shells, etc.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2560
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2561 @item pc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2562 PC style interface emulation.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2563
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2564 @item pcl-cvs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2565 CVS frontend.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2566
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2567 @item pcomplete
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2568 Provides programmatic completion.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2569
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2570 @item perl-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2571 Perl support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2572
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2573 @item pgg
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2574 Emacs interface to various PGP implementations.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2575
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2576 @item prog-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2577 Support for various programming languages.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2578
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2579 @item ps-print
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2580 Printing functions and utilities.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2581
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2582 @item psgml
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2583 Validated HTML/SGML editing.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2584
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2585 @item psgml-dtds
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2586 A collection of DTDs for psgml. Note that this package is deprecated
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2587 and will be removed in the future, most likely Q2/2003. Instead of using
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2588 this, you should install needed DTDs yourself.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2589
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2590 @item python-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2591 Python language support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2592
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2593 @item reftex
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2594 Emacs support for LaTeX cross-references, citations.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2595
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2596 @item riece
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2597 IRC (Internet Relay Chat) client for Emacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2598
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2599 @item rmail
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2600 An obsolete Emacs mailer. If you do not already use it don't start.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2601
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2602 @item ruby-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2603 Ruby support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2604
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2605 @item sasl
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2606 Simple Authentication and Security Layer (SASL) library.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2607
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2608 @item scheme
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2609 Front-end support for Inferior Scheme.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2610
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2611 @item semantic
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2612 Semantic bovinator (Yacc/Lex for XEmacs). Includes Senator.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2613
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2614 @item sgml
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2615 SGML/Linuxdoc-SGML editing.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2616
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2617 @item sh-script
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2618 Support for editing shell scripts.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2619
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2620 @item sieve
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2621 Manage Sieve email filtering scripts.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2622
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2623 @item slider
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2624 User interface tool.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2625
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2626 @item sml-mode
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2627 SML editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2628
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2629 @item sounds-au
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2630 XEmacs Sun sound files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2631
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2632 @item sounds-wav
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2633 XEmacs Microsoft sound files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2634
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2635 @item speedbar
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2636 Provides a separate frame with convenient references.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2637
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2638 @item strokes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2639 Mouse enhancement utility.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2640
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2641 @item supercite
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2642 An Emacs citation tool for News & Mail messages.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2643
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2644 @item texinfo
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2645 XEmacs TeXinfo support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2646
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2647 @item text-modes
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2648 Miscellaneous support for editing text files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2649
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2650 @item textools
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2651 Miscellaneous TeX support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2652
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2653 @item time
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2654 Display time & date on the modeline.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2655
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2656 @item tm
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2657 Emacs MIME support. Not needed for gnus >= 5.8.0.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2658
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2659 @item tooltalk
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2660 Support for building with Tooltalk.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2661
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2662 @item tpu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2663 DEC EDIT/TPU support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2664
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2665 @item tramp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2666 Remote shell-based file editing. This is similar to EFS or Ange-FTP,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2667 but works with rsh/ssh and rcp/scp.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2668
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2669 @item vc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2670 Version Control for Free systems.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2671
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2672 @item vc-cc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2673 Version Control for ClearCase (UnFree) systems.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2674
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2675 @item vhdl
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2676 Support for VHDL.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2677
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2678 @item view-process
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2679 A Unix process browsing tool.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2680
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2681 @item viper
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2682 VI emulation support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2683
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2684 @item vm
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2685 An Emacs mailer.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2686
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2687 @item w3
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2688 A Web browser.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2689
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2690 @item x-symbol
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2691 Semi WYSIWYG for LaTeX, HTML, etc, using additional fonts.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2692
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2693 @item xemacs-base
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2694 Fundamental XEmacs support, you almost certainly need this.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2695
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2696 @item xemacs-devel
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2697 XEmacs Lisp developer support. This package contains utilities for
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2698 supporting Lisp development. It is a single-file package so it may be
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2699 tailored.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2700
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2701 @item xlib
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2702 Emacs interface to X server.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2703
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2704 @item xslide
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2705 XSL editing support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2706
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2707 @item xslt-process
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2708 A minor mode for (X)Emacs which allows running an XSLT processor on a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2709 buffer.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2710
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2711 @item xwem
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2712 X Emacs Window Manager.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2713
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2714 @item zenirc
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2715 ZENIRC IRC Client.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2716 @end table
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2717
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2718 @subheading Mule Support (mule)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2719
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2720 MULti-lingual Enhancement. Support for world scripts such as
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2721 Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2722 To use these packages your XEmacs must be compiled with Mule
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2723 support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2724
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2725 @table @asis
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2726 @item edict
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2727 MULE: Lisp Interface to EDICT, Kanji Dictionary.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2728
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2729 @item egg-its
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2730 MULE: Wnn (4.2 and 6) support. SJ3 support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2731
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2732 @item latin-unity
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2733 MULE: find single ISO 8859 character set to encode a buffer.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2734
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2735 @item latin-unity
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2736 Unify character sets in a buffer. When characters belong to disjoint
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2737 character sets, this attempts to translate the characters so
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2738 that they belong to one character set. If the buffer coding system is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2739 not sufficient, this suggests different coding systems.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2740
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2741 @item leim
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2742 MULE: Quail. All non-English and non-Japanese language support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2743
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2744 @item locale
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2745 MULE: Localized menubars and localized splash screens.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2746
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2747 @item lookup
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2748 Dictionary support. (This isn't an English dictionary program)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2749
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2750 @item mule-base
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2751 MULE: Basic Mule support, required for building with Mule.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2752
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2753 @item mule-ucs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2754 MULE: Extended coding systems (including Unicode) for XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2755
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2756 @item mule-ucs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2757 Extended coding systems (including Unicode) for XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2758
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2759 @item skk
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2760 Another Japanese Language Input Method. Can be used without a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2761 separate process running as a dictionary server.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2762 @end table
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2763
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2764 @node Q1.7.3, Q1.7.4, Q1.7.2, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2765 @unnumberedsubsec Q1.7.3: Do I need to have the packages to run XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2766
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2767 Strictly speaking, no. XEmacs will build and install just fine without
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2768 any packages installed. However, only the most basic editing functions
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2769 will be available with no packages installed, so installing packages is
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2770 an essential part of making your installed XEmacs _useful_.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2771
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2772 @node Q1.7.4, Q1.8.1, Q1.7.3, Introduction
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2773 @unnumberedsubsec Q1.7.4: Is there a way to find which package has particular functionality?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2774
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2775 If you want to find out which package contains the functionality you
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2776 are looking for, use @kbd{M-x package-get-package-provider}, and give it a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2777 symbol that is likely to be in that package.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2778
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2779 For example, if some code you want to use has a @code{(require 'thingatpt)}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2780 in it:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2781
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2782 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2783 M-x package-get-package-provider RET thingatpt RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2784 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2785
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2786 which will return something like: @samp{(fsf-compat "1.08").}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2787
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2788 @unnumberedsec 1.8: Internationalization
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2789
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
2790 @node Q1.8.1, Q1.8.2, Q1.7.4, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2791 @unnumberedsubsec Q1.8.1: What is the status of internationalization support aka MULE (including Asian language support)?
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
2792
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
2793 Both the stable and development versions of XEmacs include
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2794 internationalization support (aka MULE). MULE currently (21.4) works on
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2795 UNIX and Linux systems. It is possible to build with MULE on Windows
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2796 systems, but if you really need MULE on Windows, it is recommended that
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2797 you build and use the development (21.5) version, and deal with the
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2798 instability of the development tree. Binaries compiled without MULE
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2799 support run faster than MULE capable XEmacsen.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2800
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2801 @node Q1.8.2, Q1.8.3, Q1.8.1, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2802 @unnumberedsubsec Q1.8.2: How can I help with internationalization?
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2803
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2804 If you would like to help, you may want to join the
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2805 @email{xemacs-mule@@xemacs.org} mailing list. Especially needed are
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2806 people who speak/write languages other than English, who are willing to
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 428
diff changeset
2807 use XEmacs/MULE regularly, and have some experience with Elisp.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2808
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2809 Translations of the TUTORIAL and man page are welcome, and XEmacs does
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2810 support multilingual menus, but we have few current translations.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2811
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2812 @xref{Q1.5.2, How do I become a Beta Tester?}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2813
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2814 @node Q1.8.3, Q1.8.4, Q1.8.2, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2815 @unnumberedsubsec Q1.8.3: How do I type non-ASCII characters?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2816
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2817 @xref{Q3.0.6, How can you type in special characters in XEmacs?}, in
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2818 part 3 of this FAQ, for some simple methods that also work in non-MULE
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2819 builds of XEmacs (but only for one-octet coded character sets, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2820 mostly for ISO 8859/1). Many of the methods available for Cyrillic
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2821 (@pxref{Q1.8.7, How about Cyrillic modes?}) work without MULE. MULE
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2822 has more general capabilities. @xref{Q1.8.5, Please explain the
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2823 various input methods in MULE/XEmacs}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2824
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
2825 @xref{Q4.0.8, How do I display non-ASCII characters?}, which covers
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2826 display of non-ASCII characters.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
2827
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2828 @node Q1.8.4, Q1.8.5, Q1.8.3, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2829 @unnumberedsubsec Q1.8.4: Can XEmacs messages come out in a different language?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2830
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2831 The message-catalog support was written but is badly bit-rotted. XEmacs
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2832 20 and 21 did @emph{not} support it, and early releases of XEmacs 22
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2833 will not either.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2834
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2835 However, menubar localization @emph{does} work. To enable it, add to
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2836 your @file{Emacs} file entries like this:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2837
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2838 @example
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2839 Emacs*XlwMenu.resourceLabels: True
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2840 Emacs*XlwMenu.file.labelString: Fichier
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
2841 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2842 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2843
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2844 The name of the resource is derived from the non-localized entry by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2845 removing punctuation and capitalizing as above.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2846
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2847 @node Q1.8.5, Q1.8.6, Q1.8.4, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2848 @unnumberedsubsec Q1.8.5: Please explain the various input methods in MULE/XEmacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2849
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2850 Mule supports a wide variety of input methods. There are three basic
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2851 classes: Lisp implementations, generic platform support, and library
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2852 interfaces.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2853
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2854 @emph{Lisp implementations} include Quail, which provides table-driven input
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2855 methods for almost all the character sets that Mule supports (including
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2856 all of the ISO 8859 family, the Indic languages, Thai, and so on), and
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2857 SKK, for Japanese. (SKK also supports an interface to an external
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2858 "dictionary server" process.) Quail supports both typical "dead-key"
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2859 methods (eg, in the "latin-1-prefix" method, @kbd{" a} produces ä, LATIN
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2860 SMALL LETTER A WITH DIAERESIS), and the complex dictionary-based phonetic
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2861 methods used for Asian ideographic languages like Chinese.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2862
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2863 Lisp implementations can be less powerful (but they are not perceptibly
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2864 inefficient), and of course are not portable to non-Emacs applications.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2865 The incompatibility can be very annoying. On the other hand, they
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2866 require no special platform support or external libraries, so if you can
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2867 display the characters, Mule can input them for you and you can edit,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2868 anywhere.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2869
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2870 @emph{Generic platform support} is currently limited to the X Input
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2871 Method (XIM) framework, although support for MSIME (for MS Windows) is
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2872 planned, and IIIMF (Sun's Internet-Intranet Input Method Framework)
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2873 support is extremely desirable. XIM is enabled at build time by use of
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2874 the @samp{--with-xim} flag to @code{configure}. For use of XIM, see
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2875 your platform documentation. However, normally the input method you use
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2876 is specified via the @samp{LANG} and @samp{XMODIFIERS} environment
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2877 variables.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2878
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2879 Of course, input skills are portable across most applications. However,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2880 especially in modern GUI systems the habit of using bucky bits has
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2881 fallen into sad disuse, and many XIM systems are poorly configured for
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2882 use with Emacs. For example, the kinput2 input manager (a separate
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2883 process providing an interface between Japanese dictionary servers such
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2884 as Canna and Wnn, and the application) tends to gobble up keystrokes
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2885 generating Meta characters. This means that to edit while using an XIM
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2886 input method, you must toggle the input method off every time you want
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2887 to use @kbd{M-f}. Your mileage may vary.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2888
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2889 @emph{Library interfaces} are most common for Japanese, although Wnn
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2890 supports Chinese (traditional and simplified) and Korean. There are
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2891 Chinese and Korean input servers available, but we do not know of any
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2892 patches for XEmacs to use them directly. You can use them via
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2893 IM-enabled terminals, by manipulating the terminal coding systems. We
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2894 describe only the Japanese-oriented systems here. The advantage of
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2895 these systems is that they are very powerful, and on platforms where
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2896 they are available there is typically a wide range of applications that
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2897 support them. Thus your input skills are portable across applications.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2898
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2899 Mule provides built-in interfaces to the following input methods: Wnn4,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2900 Wnn6, Canna, and SJ3. These can be configured at build time. There are
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2901 patches available (no URL, sorry) to support the SKK server, as well.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2902 Wnn and SJ3 use the @code{egg} user interface. The interface for Canna
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2903 is specialized to Canna.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2904
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2905 Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2906 University. It is a powerful and complex system. Wnn4 is free and Wnn6
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2907 is not. Wnn uses grammatical hints and probability of word association,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2908 so in principle Wnn can be cleverer than other methods.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2909
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2910 Canna, made by NEC, supports only Japanese. It is a simple and powerful
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2911 system. Canna uses only grammar, but its grammar and dictionary are
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2912 quite sophisticated. So for standard modern Japanese, Canna seems
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2913 cleverer than Wnn4. In addition, the UNIX version of Canna is free (now
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2914 there is a Microsoft Windows version).
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2915
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2916 SJ3, by Sony, supports only Japanese.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2917
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2918 Egg consists of following parts:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2919
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2920 @enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2921 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2922 Input character Translation System (ITS) layer.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2923 It translates ASCII inputs to Kana/PinYin/Hangul characters.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2924
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2925 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2926 Kana/PinYin/Hangul to Kanji transfer layer.
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2927 The interface layer to network Kana-Kanji server (Wnn and Sj3).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2928 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2929
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2930 These input methods are modal. They have a raw (alphabet) mode, a
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2931 phonetic input mode, and Kana-Kanji transfer mode. However there are
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2932 mode-less input methods for Egg and Canna. @samp{boiled-egg} is a
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2933 mode-less input method running on Egg. For Canna, @samp{canna.el} has a
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2934 tiny boiled-egg-like command, @code{(canna-boil)}, and there are some
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2935 boiled-egg-like utilities.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2936
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2937 Much of this information was provided by @email{morioka@@jaist.ac.jp,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2938 MORIOKA Tomohiko}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2939
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2940 @node Q1.8.6, Q1.8.7, Q1.8.5, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
2941 @unnumberedsubsec Q1.8.6: How do I portably code for MULE/XEmacs?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2942
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2943 MULE has evolved rapidly over the last few years, and the original third
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2944 party patch (for GNU Emacs 19), GNU Emacs 20+, and XEmacs 20+ have quite
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2945 different implementations. The APIs also vary although recent versions
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2946 of XEmacs have tended to converge to the GNU Emacs standard.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2947
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2948 MULE implementations are going to continue to evolve. Both GNU Emacs
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2949 and XEmacs are working hard on Unicode support, which will involve new
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2950 APIs and probably variations on old ones. For XEmacs 22, the old ISO
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2951 2022-based system for recognizing encodings will be replaced by a much
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2952 more flexible system, which should improve accuracy of automatic coding
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2953 detections, but will also involve new APIs.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2954
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2955 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2956
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2957 @quotation
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2958 The application implementor must write separate code for these mule
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2959 variants. [Please don't hesitate to report these variants to us; they
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2960 are not, strictly speaking, bugs, but they give third-party developers
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2961 the same kind of creepy-crawly feeling. We'll do what we can. -- Ed.]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2962
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2963 MULE and the next version of Emacs are similar but the symbols are very
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2964 different---requiring separate code as well.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2965
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2966 Namely we must support 3 kinds of mule variants and 4 or 5 or 6 kinds of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2967 emacs variants... (;_;) I'm shocked, so I wrote a wrapper package called
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2968 @code{emu} to provide a common interface. [There is an XEmacs package
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2969 of APEL which provides much more comprehensive coverage. Be careful,
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
2970 however; APEL has problems of its own. -- Ed.]
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2971
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2972 I have the following suggestions about dealing with mule variants:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2973
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2974 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2975 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2976 @code{(featurep 'mule)} @code{t} on all mule variants
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2977
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2978 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2979 @code{(boundp 'MULE)} is @code{t} on only MULE. Maybe the next version
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2980 of Emacs will not have this symbol.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2981
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2982 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2983 MULE has a variable @code{mule-version}. Perhaps the next version of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2984 Emacs will have this variable as well.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2985 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2986
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2987 Following is a sample to distinguish mule variants:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2988
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2989 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2990 (if (featurep 'mule)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2991 (cond ((boundp 'MULE)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2992 ;; for original Mule
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2993 )
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2994 ((string-match "XEmacs" emacs-version)
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2995 ;; for XEmacs with Mule
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2996 )
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2997 (t
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2998 ;; for next version of Emacs
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
2999 ))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3000 ;; for old emacs variants
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3001 )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3002 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3003 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3004
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3005 @node Q1.8.7, Q1.8.8, Q1.8.6, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3006 @unnumberedsubsec Q1.8.7: How about Cyrillic modes?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3007
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3008 @email{ilya@@math.ohio-state.edu, Ilya Zakharevich} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3009
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3010 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3011 There is a cyrillic mode in the file @file{mysetup.zip} in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3012 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3013 @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3014 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3015 @uref{ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/}. This is a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3016 modification to @email{ava@@math.jhu.ed, Valery Alexeev's} @file{russian.el}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3017 which can be obtained from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3018 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3019
871
732270854293 [xemacs-hg @ 2002-06-11 19:28:14 by adrian]
adrian
parents: 853
diff changeset
3020 @uref{http://www.math.uga.edu/~valery/russian.el}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3021
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3022 @email{d.barsky@@ee.surrey.ac.uk, Dima Barsky} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3023
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3024 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3025 There is another cyrillic mode for both GNU Emacs and XEmacs by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3026 @email{manin@@camelot.mssm.edu, Dmitrii
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3027 (Mitya) Manin} at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3028 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3029
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3030 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3031 @uref{http://kulichki-lat.rambler.ru/centrolit/manin/cyr.el}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3032 @c Link above, <URL:http://camelot.mssm.edu/~manin/cyr.el> was dead.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3033 @c Changed to russian host instead
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3034 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3035
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3036 @email{rebecca.ore@@op.net, Rebecca Ore} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3037
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3038 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3039 The fullest resource I found on Russian language use (in and out of
661
78df880cb9f8 [xemacs-hg @ 2001-09-16 10:09:54 by adrian]
adrian
parents: 660
diff changeset
3040 XEmacs) is @uref{http://www.ibiblio.org/sergei/Software/Software.html}
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3041 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3042
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3043 @node Q1.8.8, Q1.8.9, Q1.8.7, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3044 @unnumberedsubsec Q1.8.8: Does XEmacs support Unicode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3045
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3046 To get Unicode support, you need a Mule-enabled XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3047
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3048 21.5 has internal support for Unicode and supports it fully, although we
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3049 don't yet use it as the internal encoding.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3050
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3051 21.4 supports Unicode partially -- as an external encoding for files,
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3052 processes, and terminals, but without font support. @xref{Q1.8.9, How
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3053 does XEmacs display Unicode?}. To get Unicode support in 21.4,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3054 install Mule-UCS from packages in the usual way, and put
745
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3055
1616
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3056 @example
745
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3057 (require 'un-define)
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3058 (set-coding-priority-list '(utf-8))
1616
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3059 (set-coding-category-system 'utf-8 'utf-8)
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3060 @end example
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3061
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3062 in your init file to enable the UTF-8 coding system. You may wish to
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3063 view the documentation of @code{set-coding-priority-list} if you find
aaf5e80aedd2 [xemacs-hg @ 2003-08-12 06:15:51 by stephent]
stephent
parents: 1549
diff changeset
3064 that files that are not UTF-8 are being mis-recognized as UTF-8.
745
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3065
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3066 Install standard national fonts (not Unicode fonts) for all character
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3067 sets you use. @xref{Q1.8.9, How does XEmacs display Unicode??}.
745
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3068
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3069 Mule-UCS also supports 16-bit forms of Unicode (UTF-16). It does not
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3070 support 31-bit forms of Unicode (UTF-32 or UCS-4).
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3071
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3072 @node Q1.8.9, , Q1.8.8, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3073 @unnumberedsubsec Q1.8.9: How does XEmacs display Unicode?
745
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3074
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3075 Mule doesn't have a Unicode charset internally, so there's nothing to
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3076 bind a Unicode registry to. It would not be straightforward to create,
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3077 either, because Unicode is not ISO 2022-compatible. You'd have to
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3078 translate it to multiple 96x96 pages.
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3079
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3080 This means that Mule-UCS uses ordinary national fonts for display. This
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3081 is not really a problem, except for those languages that use the Unified
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3082 Han characters. The problem here is that Mule-UCS maps from Unicode
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3083 code points to national character sets in a deterministic way. By
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3084 default, this means that Japanese fonts are tried first, then Chinese,
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3085 then Korean. To change the priority ordering, use the command
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3086 `un-define-change-charset-order'.
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3087
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3088 It also means you can't use Unicode fonts directly, at least not without
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3089 extreme hackery. You can run -nw with (set-terminal-coding-system
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3090 'utf-8) if you really want a Unicode font for some reason.
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3091
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3092 Real Unicode support will be introduced in XEmacs 22.0.
4aa6e26cd8ba [xemacs-hg @ 2002-02-06 16:27:05 by stephent]
stephent
parents: 742
diff changeset
3093
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3094 @node Installation, Editing, Introduction, Top
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3095 @unnumbered 2 Installation and Troubleshooting
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3096
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3097 This is part 2 of the XEmacs Frequently Asked Questions list. This
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3098 section is devoted to Installation, Maintenance and Troubleshooting.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3099
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3100 @menu
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3101 2.0: Installation (General)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3102 * Q2.0.1:: How do I build and install XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3103 * Q2.0.2:: Where do I find external libraries?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3104 * Q2.0.3:: How do I specify the paths that XEmacs uses for finding files?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3105 * Q2.0.4:: Running XEmacs without installing
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3106 * Q2.0.5:: XEmacs is too big
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3107
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3108 2.1: Package Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3109 * Q2.1.1:: How do I install the packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3110 * Q2.1.2:: Can I install the packages individually?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3111 * Q2.1.3:: Can I install the packages automatically?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3112 * Q2.1.4:: Can I upgrade or remove packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3113 * Q2.1.5:: Which packages to install?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3114 * Q2.1.6:: Can you describe the package location process in more detail?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3115 * Q2.1.7:: EFS fails with "500 AUTH not understood"
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3116
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3117 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3118 * Q2.2.1:: Libraries in non-standard locations
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3119 * Q2.2.2:: Why can't I strip XEmacs?
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3120 * Q2.2.3:: X11/bitmaps/gray (or other X11-related file) not found.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3121
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3122 2.3: Windows Installation (Windows, Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3123 * Q2.3.1:: What exactly are all the different ways to build XEmacs under Windows?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3124 * Q2.3.2:: What compiler/libraries do I need to compile XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3125 * Q2.3.3:: How do I compile the native port?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3126 * Q2.3.4:: What do I need for Cygwin?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3127 * Q2.3.5:: How do I compile under Cygwin?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3128 * Q2.3.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3129 * Q2.3.7:: How do I compile with X support?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3130 * Q2.3.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3131
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3132 2.4: General Troubleshooting
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3133 * Q2.4.1:: How do I deal with bugs or with problems building, installing, or running?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3134 * Q2.4.2:: Help! XEmacs just crashed on me!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3135 * Q2.4.3:: XEmacs crashes and I compiled it myself.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3136 * Q2.4.4:: How to debug an XEmacs problem with a debugger
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3137 * Q2.4.5:: I get a cryptic error message when trying to do something.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3138 * Q2.4.6:: XEmacs hangs when I try to do something.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3139 * Q2.4.7:: I get an error message when XEmacs is running in batch mode.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3140 * Q2.4.8:: The keyboard or mouse is not working properly, or I have some other event-related problem.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3141 * Q2.4.9:: @kbd{C-g} doesn't work for me. Is it broken?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3142 * Q2.4.10:: How do I debug process-related problems?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3143 * Q2.4.11:: XEmacs is outputting lots of X errors.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3144 * Q2.4.12:: After upgrading, XEmacs won't do `foo' any more!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3145
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3146 2.5: Startup-Related Problems
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3147 * Q2.5.1:: XEmacs cannot connect to my X Terminal!
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3148 * Q2.5.2:: Startup problems related to paths or package locations.
4658
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
3149 * Q2.5.3:: XEmacs won't start without network, or starts slowly.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3150 * Q2.5.4:: Startup warnings about deducing proper fonts?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3151 * Q2.5.5:: Warnings from incorrect key modifiers.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3152 * Q2.5.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
5390
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
3153 * Q2.5.7:: XEmacs issues messages about ``auto-autoloads already loaded.''
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3154 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3155
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3156 @unnumberedsec 2.0: Installation (General)
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3157
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3158 @node Q2.0.1, Q2.0.2, Installation, Installation
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3159 @unnumberedsubsec Q2.0.1: How do I build and install XEmacs?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3160
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3161 See the file @file{etc/NEWS} for information on new features and other
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3162 user-visible changes since the last version of XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3163
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3164 The file @file{INSTALL} in the top-level directory says how to bring
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3165 up XEmacs on Unix and Cygwin, once you have loaded the entire subtree
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3166 of this directory.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3167
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3168 See the file @file{nt/README} for instructions on building XEmacs for
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3169 Microsoft Windows.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3170
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3171 @xref{Q2.1.1}, for the installation of (essential) add on packages.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3172
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3173 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3174 @unnumberedsubsec Q2.0.2: Where do I find external libraries?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3175
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3176 All external libraries used by XEmacs can be found on the XEmacs web
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3177 site
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3178 @iftex
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3179 @*
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3180 @end iftex
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3181 @uref{http://www.xemacs.org/Download/optLibs.html}.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3182
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3183 The library versions available here are known to work with XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3184 (Newer versions will probably work as well but we can't guarantee it.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3185 We try to keep the libraries up-to-date but may not always succeed.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3186 Check the above page for the canonical locations of the external libraries,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3187 allowing you to download the latest, bleeding-edge versions.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3188
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3189 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3190 @unnumberedsubsec Q2.0.3: How do I specify the paths that XEmacs uses for finding files?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3191
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3192 You can specify what paths to use by using a number of different flags
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3193 when running configure. See the section MAKE VARIABLES in the top-level
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3194 file INSTALL in the XEmacs distribution for a listing of those flags.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3195
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3196 Most of the time, however, the simplest fix is: @strong{do not} specify
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3197 paths as you might for GNU Emacs. XEmacs can generally determine the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3198 necessary paths dynamically at run time. The only path that generally
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3199 needs to be specified is the root directory to install into. That can
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3200 be specified by passing the @code{--prefix} flag to configure. For a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3201 description of the XEmacs install tree, please consult the @file{NEWS}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3202 file.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3203
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3204 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3205 @unnumberedsubsec Q2.0.4: Running XEmacs without installing
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
3206
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
3207 How can I just try XEmacs without installing it?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3208
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3209 XEmacs will run in place without requiring installation and copying of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3210 the Lisp directories, and without having to specify a special build-time
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3211 flag. It's the copying of the Lisp directories that requires so much
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3212 space. XEmacs is largely written in Lisp.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3214 A good method is to make a shell alias for xemacs:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3215
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3216 @example
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3217 alias xemacs=/src/xemacs-21.5/src/xemacs
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3218 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3219
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3220 (You will obviously use whatever directory you downloaded the source
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3221 tree to instead of @file{/src/xemacs-21.5}).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3222
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3223 This will let you run XEmacs without massive copying.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3224
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3225 @node Q2.0.5, Q2.1.1, Q2.0.4, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3226 @unnumberedsubsec Q2.0.5: XEmacs is too big
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3227
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
3228 The space required by the installation directories can be
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3229 reduced dramatically if desired. Gzip all the .el files. Remove all
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
3230 the packages you'll never want to use. Remove the TexInfo manuals.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3231 Remove the Info (and use just hardcopy versions of the manual). Remove
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3232 most of the stuff in etc. Remove or gzip all the source code. Gzip or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3233 remove the C source code. Configure it so that copies are not made of
1138
05ed51332340 [xemacs-hg @ 2002-12-03 11:01:40 by didierv]
didierv
parents: 1135
diff changeset
3234 the support lisp.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3235
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3236 These are all Emacs Lisp source code and bytecompiled object code. You
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3237 may safely gzip everything named *.el here. You may remove any package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3238 you don't use. @emph{Nothing bad will happen if you delete a package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3239 that you do not use}. You must be sure you do not use it though, so be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3240 conservative at first.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3241
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3242 Any package with the possible exceptions of xemacs-base, and EFS are
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3243 candidates for removal. Ask yourself, @emph{Do I ever want to use this
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3244 package?} If the answer is no, then it is a candidate for removal.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3245
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3246 First, gzip all the .el files. Then go about package by package and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3247 start gzipping the .elc files. Then run XEmacs and do whatever it is
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3248 you normally do. If nothing bad happens, then remove the package. You
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3249 can remove a package via the PUI interface
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3250 (@code{M-x pui-list-packages}, then press @kbd{d} to mark the packages
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3251 you wish to delete, and then @kbd{x} to delete them.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3252
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 1616
diff changeset
3253 Another method is to do @code{M-x package-get-delete-package}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3254
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3255 @unnumberedsec 2.1: Package Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3256
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3257 @node Q2.1.1, Q2.1.2, Q2.0.5, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3258 @unnumberedsubsec Q2.1.1: How do I install the packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3259
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3260 There are three ways to install the packages.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3261
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3262 @enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3263 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3264 Manually, all at once, using the 'Sumo Tarball'.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3265 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3266 Manually, using individual package tarballs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3267 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3268 Automatically, using the package tools from XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3269 @end enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3270
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3271 If you don't want to mess with the packages, it is easiest to just
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3272 grab them manually, all at once. (For the other two ways,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3273 @xref{Q2.1.2}, and @xref{Q2.1.3}.) Download the file
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3274
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3275 @file{xemacs-sumo.tar.gz}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3276
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3277 For an XEmacs compiled with Mule you also need
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3278
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3279 @file{xemacs-mule-sumo.tar.gz}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3280
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3281 These are in the @file{packages} directory on your XEmacs mirror
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3282 archive: @uref{ftp://ftp.xemacs.org/pub/xemacs/packages} or its
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3283 mirrors. N.B. They are called 'Sumo Tarballs' for good reason. They
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3284 are currently about 19MB and 4.5MB (gzipped) respectively.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3285
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3286 Install them on Unix and Mac OS X using the shell/Terminal command
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3287
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3288 @code{cd $prefix/share/xemacs ; gunzip -c <tarballname> | tar xf -}
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3289
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3290 Where @samp{$prefix} is what you gave to the @samp{--prefix} flag to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3291 @file{configure}, and defaults to @file{/usr/local}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3292
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3293 If you have GNU tar you can use:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3294
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3295 @code{cd $prefix/share/xemacs ; tar zxvf <tarballname>}
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3296
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3297 If you have the packages somewhere nonstandard and don't want to bother
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3298 with @samp{$prefix} (for example, you're a developer and are compiling
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3299 the packages yourself, and want your own private copy of everything),
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3300 you can also directly specify this using @file{configure}. To do this
3179
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3301 with 21.5 and above use the @samp{--with-late-packages} parameter to
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3302 specify the directory under which you untarred the above tarballs.
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3303 Under 21.4 and previous you need to use @samp{--package-path}. Using
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3304 these options looks something like this:
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3305
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3306 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3307 configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ...
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3308 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3309
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3310 Under Windows, you need to place the above @samp{tar.gz} files in the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3311 directory specified using the @samp{PACKAGE_PREFIX} value in
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3312 @file{nt/config.inc} and by default is @file{\Program Files\XEmacs}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3313 (To untar a @samp{tar.gz} file you will need to use a utility such as
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3314 WinZip, unless you have Cygwin or a similar environment installed, in
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3315 which case the above Unix shell command should work fine.) If you want
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3316 the packages somewhere else, just change @samp{PACKAGE_PREFIX}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3317
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3318 Note that XEmacs finds the packages automatically anywhere underneath
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3319 the directory tree where it expects to find the packages. All you
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3320 need to do is put stuff there; you don't need to run any program to
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3321 tell XEmacs to find the packages, or do anything of that sort.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3322
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3323 However, XEmacs will only notice newly installed packages when it
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3324 starts up, so you will have to restart if you are already running
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3325 XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3326
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3327 For more details, @xref{Startup Paths,,,xemacs, the XEmacs User's
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3328 Manual}, and @xref{Packages,,,xemacs, the XEmacs User's Manual}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3329
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3330 As the Sumo tarballs are not regenerated as often as the individual
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3331 packages, it is recommended that you use the automatic package tools
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3332 afterwards to pick up any recent updates.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3333
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3334 @emph{NOTE}: For detailed information about how the package
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3335 hierarchies work, @xref{Package Overview,,,lispref, the XEmacs Lisp
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3336 Reference Manual}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3337
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3338 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3339 @unnumberedsubsec Q2.1.2: Can I install the packages individually?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3340
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3341 Yes, you can download individual packages from the FTP site (@pxref{Q2.1.1}). Since packages are automatically noticed at startup, you just have to put them in the right place.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3342
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3343 Note: If you are upgrading packages already installed, it's best to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3344 remove the old package first (@pxref{Q2.1.4}).
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3345
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3346 For example if we are installing the @samp{xemacs-base}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3347 package (version 1.48):
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3348
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3349 @example
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3350 mkdir $prefix/share/xemacs/xemacs-packages RET # if it does not exist yet
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3351 cd $prefix/share/xemacs/xemacs-packages RET
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3352 gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3353 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3354
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3355 Or if you have GNU tar, the last step can be:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3356
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3357 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3358 tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3359 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3360
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3361 For MULE related packages, it is best to untar into the @samp{mule-packages}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3362 hierarchy, i.e. for the @samp{mule-base} package, version 1.37:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3363
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3364 @example
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3365 mkdir $prefix/share/xemacs/mule-packages RET # if it does not exist yet
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3366 cd $prefix/share/xemacs/mule-packages RET
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3367 gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3368 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3369
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3370 Or if you have GNU tar, the last step can be:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3371
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3372 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3373 tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3374 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3375
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3376 @node Q2.1.3, Q2.1.4, Q2.1.2, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3377 @unnumberedsubsec Q2.1.3: Can I install the packages automatically?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3378
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3379 XEmacs comes with some tools to make the periodic updating and
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3380 installing easier. It will notice if new packages or versions are
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3381 available and will fetch them from the FTP site.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3382
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3383 Unfortunately this requires that a few packages are already in place.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3384 You will have to install them by hand as above or use a SUMO tarball.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3385 This requirement will hopefully go away in the future. The packages
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3386 you need are:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3387
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3388 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3389 efs - To fetch the files from the FTP site or mirrors.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3390 xemacs-base - Needed by efs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3391 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3392
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3393 and optionally:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3394
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3395 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3396 mailcrypt - For PGP verification of the package-index file.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3397 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3398
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3399 After installing these by hand, fire up XEmacs and follow these
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3400 steps.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3401
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3402 @enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3403 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3404 Choose a download site.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3405 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3406 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3407 via menu: Tools -> Packages -> Set Download Site
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3408 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3409 via keyb: M-x customize-variable RET package-get-remote RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3410 (put in the details of remote host and directory)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3411 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3412
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3413 If the package tarballs _AND_ the package-index file are in a
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3414 local directory, you can: M-x pui-set-local-package-get-directory RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3415
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3416 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3417 Obtain a list of packages and display the list in a buffer named
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3418 "*Packages*".
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3419 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3420 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3421 menu: Tools -> Packages -> List & Install
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3422 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3423 keyb: M-x pui-list-packages RET
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3424 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3425
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3426 XEmacs will now connect to the remote site and download the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3427 latest package-index file.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3428
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3429 The resulting buffer, "*Packages*" has brief instructions at the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3430 end of the buffer.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3431
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3432 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3433 Choose the packages you wish to install.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3434 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3435 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3436 mouse: Click button 2 on the package name.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3437 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3438 keyb: RET on the package name
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3439 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3440
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3441 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3442 Make sure you have everything you need.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3443 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3444 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3445 menu: Packages -> Add Required
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3446 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3447 keyb: r
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3448 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3449
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3450 XEmacs will now search for packages that are required by the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3451 ones that you have chosen to install and offer to select
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3452 those packages also.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3453
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3454 For novices and gurus alike, this step can save your bacon.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3455 It's easy to forget to install a critical package.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3456
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3457 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3458 Download and install the packages.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3459 @itemize @bullet
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3460 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3461 menu: Packages -> Install/Remove Selected
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3462 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3463 keyb: x
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3464 @end itemize
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3465 @end enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3466
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3467 @node Q2.1.4, Q2.1.5, Q2.1.3, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3468 @unnumberedsubsec Q2.1.4: Can I upgrade or remove packages?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3469
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3470 As the exact files and their locations contained in a package may
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3471 change it is recommended to remove a package first before installing a
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3472 new version. In order to facilitate removal each package contains a
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3473 pkginfo/MANIFEST.pkgname file which lists all the files belonging to
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3474 the package. M-x package-admin-delete-binary-package RET can be used
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3475 to remove a package using this file.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3476
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3477 Note that the interactive package tools included with XEmacs already do
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3478 this for you.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3479
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3480 @node Q2.1.5, Q2.1.6, Q2.1.4, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3481 @unnumberedsubsec Q2.1.5: Which packages to install?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3482
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3483 Unless you are an advanced user, just install everything.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3484
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3485 If you really want to install only what's absolutely needed, a good
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3486 minimal set of packages for XEmacs-latin1 would be
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3487
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3488 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3489 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3490 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3491 text-modes, time, mailcrypt
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3492 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3493
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3494 If you are using the XEmacs package tools, don't forget to do:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3495
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3496 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3497 Packages -> Add Required
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3498 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3499
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3500 To make sure you have everything that the packages you have chosen to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3501 install need.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3502
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3503 @xref{Q1.7.2}, for a description of the various packages.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3504
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3505 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3506 @unnumberedsubsec Q2.1.6: Can you describe the package location process in more detail?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3507
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3508 On startup XEmacs looks for packages in so-called package hierarchies.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3509 Normally, there are three system wide hierarchies, like this:
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3510
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3511 @example
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3512 $prefix/sahre/xemacs/xemacs-packages/
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3513 Normal packages go here.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3514
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3515 $prefix/share/xemacs/mule-packages/
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3516 Mule packages go here and are only searched by MULE-enabled XEmacsen.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3517
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3518 $prefix/share/xemacs/site-packages/
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3519 Local and 3rd party packages go here.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3520 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3521
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3522 This is what you get when you untar the SUMO tarballs under
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3523 @file{$prefix/share/xemacs}.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3524
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3525 @file{$prefix} is specified using the @samp{--prefix} parameter to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3526 @file{configure}, and defaults to @file{usr/local}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3527
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3528 If the package path is not explicitly specified, XEmacs looks for the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3529 package directory @file{xemacs-packages} (and @file{mule-packages} and
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3530 @file{site-packages}) first under @samp{~/.xemacs}, then for a sister
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3531 directory @file{lib/xemacs-VERSION} of the directory in which the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3532 XEmacs executable is located, then for a sister directory
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3533 @file{lib/xemacs}. The XEmacs executable (under Unix at least) is
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3534 installed by default in @file{/usr/local/bin}; this explains why
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3535 XEmacs in its default installation will find packages that you put
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3536 under @file{/usr/local/share/xemacs}.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3537
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3538 You can specify where exactly XEmacs looks for packages by using the
3179
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3539 @samp{--with-user-packages} (an alias for @samp{--with-early-packages})
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3540 or @samp{--with-system-packages} (an alias for
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3541 @samp{--with-late-packages}) or @samp{--with-legacy-packages}
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3542 (an alias for @samp{--with-last-packages})
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3543 parameters to @file{configure} (or the equivalent settings in
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3544 @file{config.inc}, under Windows), or setting the
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3545 @samp{EMACSEARLYPACKAGES}, @samp{EMACSLATEPACKAGES}, and
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3546 @samp{EMACSLASTPACKAGES} environment variables (which have the same
15139dbf89f4 [xemacs-hg @ 2005-12-27 18:50:47 by michaels]
michaels
parents: 3018
diff changeset
3547 format as the configure options). @xref{Q2.1.1}.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3548
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3549 See @file{configure.usage} for more info about the format of these
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3550 @file{configure} parameters.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3551
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3552 In addition to the system wide packages, each user can have his own
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3553 packages installed under @file{~/.xemacs/}. If you want to install
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3554 packages there using the interactive tools, you need to set
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3555 @code{package-get-install-to-user-init-directory} to @code{t}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3556
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3557 The site-packages hierarchy replaces the old @file{site-lisp}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3558 directory. XEmacs no longer looks into a @file{site-lisp} directly by
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3559 default. A good place to put @file{site-start.el} would be in
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
3560 @file{$prefix/share/xemacs/site-packages/lisp/}.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3561
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3562 @node Q2.1.7, Q2.2.1, Q2.1.6, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3563 @unnumberedsubsec Q2.1.7: EFS fails with "500 AUTH not understood" (NEW)
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3564
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3565 A typical error: FTP Error: USER request failed; 500 AUTH not understood.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3566
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
3567 Thanks to Giacomo Boffi @email{giacomo.boffi@@polimi.it} who recommends
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3568 on comp.emacs.xemacs:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3569
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3570 tell your ftp client to not attempt AUTH authentication (or do not
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3571 use FTP servers that don't understand AUTH)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3572
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3573 and notes that you need to add an element (often "-u") to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3574 `efs-ftp-program-args'. Use M-x customize-variable, and verify the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3575 needed flag with `man ftp' or other local documentation.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3576
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3577 @unnumberedsec 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3578
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3579 @node Q2.2.1, Q2.2.2, Q2.1.7, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3580 @unnumberedsubsec Q2.2.1: Libraries in non-standard locations
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3581
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3582 If your libraries are in a non-standard location, you can specify the location
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3583 using the following flags to @file{configure}. Under 21.4 or earlier:
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3584
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3585 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3586 --site-libraries=WHATEVER
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3587 --site-includes=WHATEVER
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3588 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3589
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3590 Under 21.5 or later:
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3591
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3592 @example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3593 --with-site-libraries=WHATEVER
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3594 --with-site-includes=WHATEVER
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3595 @end example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3596
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3597 If you have multiple paths to specify, use the following syntax:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3598
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3599 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3600 --site-libraries='/path/one /path/two /path/etc'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3601 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3602
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3603 If the libraries and headers reside in the directories @samp{lib} and
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3604 @samp{include} of a common root (say @samp{/sw}) then both can be
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3605 specified with a single option:
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3606
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3607 @example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3608 --site-prefixes=WHATEVER
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3609 @end example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3610
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3611 or for 21.5:
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3612
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3613 @example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3614 --with-site-prefixes=WHATEVER
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3615 @end example
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3616
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3617 @node Q2.2.2, Q2.2.3, Q2.2.1, Installation
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3618 @unnumberedsubsec Q2.2.2: Why can't I strip XEmacs?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3619
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3620 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3621
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3622 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3623 Because of the way XEmacs (and every other Emacsen, AFAIK) is built. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3624 link gives you a bare-boned emacs (called temacs). temacs is then run,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3625 preloading some of the lisp files. The result is then dumped into a new
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3626 executable, named xemacs, which will contain all of the preloaded lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3627 functions and data.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3628
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3629 Now, during the dump itself, the executable (code+data+symbols) is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3630 written on disk using a special unexec() function. This function is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3631 obviously heavily system dependent. And on some systems, it leads to an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3632 executable which, although valid, cannot be stripped without damage. If
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3633 memory serves, this is especially the case for AIX binaries. On other
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
3634 architectures it might work OK.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3635
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3636 The Right Way to strip the emacs binary is to strip temacs prior to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3637 dumping xemacs. This will always work, although you can do that only if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3638 you install from sources (as temacs is @file{not} part of the binary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3639 kits).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3640 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3641
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3642 @email{nat@@nataa.fr.eu.org, Nat Makarevitch} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3643
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3644 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3645 Here is the trick:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3646
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3647 @enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3648 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3649 [ ./configure; make ]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3650
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3651 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3652 rm src/xemacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3653
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3654 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3655 strip src/temacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3656
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3657 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3658 make
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3659
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3660 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3661 cp src/xemacs /usr/local/bin/xemacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3662
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3663 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3664 cp lib-src/DOC-19.16-XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3665 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3666 \ @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3667 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3668 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3669 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3670 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3671
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3672 @node Q2.2.3, Q2.3.1, Q2.2.2, Installation
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3673 @unnumberedsubsec Q2.2.3: X11/bitmaps/gray (or other X11-related file) not found.
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3674
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3675 The X11R6 distribution was monolithic, but the X11R7 distribution is
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3676 much more modular. Many OS distributions omit these bitmaps (assuming
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3677 nobody uses them, evidently). Your OS distribution should have a
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3678 developer's package containing these files, probably with a name
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3679 containing the string "bitmap". Known package names (you may need to
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3680 add an extension such as .deb or .rpm) include x11/xbitmaps (Ubuntu)
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3681 and xorg-x11-xbitmaps (Fedora Core 5).
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3682
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3683 @unnumberedsec 2.3: Windows Installation (Windows, Cygwin, MinGW)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3684
3404
a83f79c23956 [xemacs-hg @ 2006-05-16 15:36:10 by stephent]
stephent
parents: 3179
diff changeset
3685 @node Q2.3.1, Q2.3.2, Q2.2.3, Installation
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3686 @unnumberedsubsec Q2.3.1: What exactly are all the different ways to build XEmacs under Windows?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3687
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3688 XEmacs can be built in several ways in the MS Windows environment.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3689
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3690 The standard way is what we call the "native" port. It uses the Win32
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3691 API and has no connection with X whatsoever -- it does not require X
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3692 libraries to build, nor does it require an X server to run. The native
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3693 port is the most reliable version and provides the best graphical
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3694 support. Almost all development is geared towards this version, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3695 there is little reason not to use it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3696
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3697 The second way to build is the Cygwin port. It takes advantage of
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3698 Cygnus emulation library under Win32. @xref{Q1.2.5, What are Cygwin
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3699 and MinGW, and do I need them to run XEmacs?}, for more information.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3700
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3701 A third way is the MinGW port. It uses the Cygwin environment to
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3702 build but does not require it at runtime. @xref{Q1.2.5, What are
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3703 Cygwin and MinGW, and do I need them to run XEmacs?}, for more
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3704 information.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3705
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3706 Finally, you might also be able to build the non-Cygwin, non-MinGW "X"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3707 port. This was actually the first version of XEmacs that ran under MS
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3708 Windows, and although the code is still in XEmacs, it's essentially
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3709 orphaned and it's unlikely it will compile without a lot of work. If
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3710 you want an MS Windows versin of XEmacs that supports X, use the Cygwin
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3711 version. (The X support there is actively maintained, so that Windows
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3712 developers can test the X support in XEmacs.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3713
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3714 @node Q2.3.2, Q2.3.3, Q2.3.1, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3715 @unnumberedsubsec Q2.3.2: What compiler/libraries do I need to compile XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3716
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3717 You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3718 some beta testers currently trying to compile with VC.NET, aka version
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3719 7.0, but we can't yet report complete success.) For the Cygwin and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3720 MinGW versions, you need the Cygwin environment, which comes with GCC,
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
3721 the compiler used for those versions. @xref{Q1.2.5, What are Cygwin
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3722 and MinGW, and do I need them to run XEmacs?}, for more information on
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3723 Cygwin and MinGW.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3724
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3725 @node Q2.3.3, Q2.3.4, Q2.3.2, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3726 @unnumberedsubsec Q2.3.3: How do I compile the native port?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3727
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3728 Please read the file @file{nt/README} in the XEmacs distribution, which
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3729 contains the full description.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3730
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3731 @node Q2.3.4, Q2.3.5, Q2.3.3, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3732 @unnumberedsubsec Q2.3.4: What do I need for Cygwin?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3733
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3734 You can find the Cygwin tools and compiler at:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3735
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3736 @uref{http://www.cygwin.com/}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3737
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3738 Click on the @samp{Install or update now!} link, which will download a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3739 file @file{setup.exe}, which you can use to download everything
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3740 else. (You will need to pick a mirror site; @samp{mirrors.rcn.net} is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3741 probably the best.) You should go ahead and install everything --
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3742 you'll get various ancillary libraries that XEmacs needs or likes,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3743 e.g. XPM, PNG, JPEG, TIFF, etc. You can also get X Windows here, if you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3744 want to compile under X.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3745
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3746 If you want to compile without X, you will need the @file{xpm-nox}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3747 library, which must be specifically selected in the Cygwin netinstaller;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3748 it is not selected by default. The package has had various names.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3749 Currently it is called @file{cygXpm-noX4.dll}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3750
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3751 @node Q2.3.5, Q2.3.6, Q2.3.4, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3752 @unnumberedsubsec Q2.3.5: How do I compile under Cygwin?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3753
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3754 Similar as on Unix; use the usual `configure' and `make' process.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3755 Some problems to watch out for:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3756
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3757 @itemize @bullet
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3758 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3759 make sure HOME is set. This controls where you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3760 @file{init.el} file comes from;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3761
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3762 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3763 @samp{CYGWIN} needs to be set to @samp{tty} for process support to work;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3764
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3765 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3766 picking up some other grep or other UNIX-like tools can kill configure;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3767
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3768 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3769 static heap too small, adjust @file{src/sheap-adjust.h} to a more positive
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3770 number;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3771
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3772 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3773 (Unconfirmed) The Cygwin version doesn't understand
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3774 @file{//machine/path} type paths so you will need to manually mount a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3775 directory of this form under a unix style directory for a build to work
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3776 on the directory;
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3777
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3778 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3779 If you're building @strong{WITHOUT} X11, don't forget to change symlinks
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3780 @file{/usr/lib/libXpm.a} and @file{/usr/lib/libXpm.dll.a} to point to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3781 the non-X versions of these libraries. By default they point to the X
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3782 versions. So:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3783
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3784 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3785 /usr/lib/libXpm.a -> /usr/lib/libXpm-noX.a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3786 /usr/lib/libXpm.dll.a -> /usr/lib/libXpm-noX.dll.a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3787 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3788
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3789 (This advice may now be obsolete because of the availability of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3790 cygXpm-noX4.dll package from Cygwin. Send confirmation to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3791 @email{faq@@xemacs.org}.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3792
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3793 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3794 Other problems are listed in the @file{PROBLEMS} file, in the top-level
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3795 directory of the XEmacs sources.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3796
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3797 @end itemize
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3798
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3799
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3800 @node Q2.3.6, Q2.3.7, Q2.3.5, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3801 @unnumberedsubsec Q2.3.6: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3802
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3803 Similar to the method for Unix. Things to remember:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3804
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3805 @itemize @bullet
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3806 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3807 Specify the target host on the command line for @file{./configure}, e.g.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3808 @samp{./configure i586-pc-mingw32}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3809
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3810 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3811 Be sure that your build directory is mounted such that it has the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3812 same path either as a cygwin path (@file{/build/xemacs}) or as a Windows
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3813 path (@file{c:\build\xemacs}).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3814
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3815 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3816 Build @samp{gcc -mno-cygwin} versions of the extra libs, i.e. @file{libpng},
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3817 @file{compface}, etc.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3818
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3819 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3820 Specify the target location of the extra libs on the command line
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3821 to @file{configure}, e.g.for 21.4 or earlier
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3822 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32} and for
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3823 21.5 or later
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
3824 @samp{./configure --with-site-prefixes=/build/libs i586-pc-mingw32}.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3825 @end itemize
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3826
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3827 @node Q2.3.7, Q2.3.8, Q2.3.6, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3828 @unnumberedsubsec Q2.3.7: How do I compile with X support?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3829
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3830 To compile under Cygwin, all you need to do is install XFree86, which
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3831 is available as part of the standard Cygwin installation.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3832 @uref{http://www.cygwin.com/}. Once installed, @file{configure}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3833 should automatically find the X libraries and compile with X support.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3834
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3835 As noted above, the non-Cygwin X support is basically orphaned, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3836 probably won't work. But if it want to try, it's described in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3837 @file{nt/README} in some detail. Basically, you need to get X11
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
3838 libraries from @uref{http://ftp.x.org}, and compile them. If the
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3839 precompiled versions are available somewhere, we don't know of it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3840
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3841 @node Q2.3.8, Q2.4.1, Q2.3.7, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3842 @unnumberedsubsec Q2.3.8: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
1058
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3843
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3844 The Cygwin binary distributed with the netinstaller uses an external DLL
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3845 to handle XPM images (such as toolbar buttons). You may get an error like
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3846
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3847 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3848 This application has failed to start because cygXpm-noX4.dll was not found.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3849 Re-installing the application may fix this problem.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3850 @end example
1058
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3851
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3852 Andy Piper <andy@@xemacs.org> sez:
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3853
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3854 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3855 cygXpm-noX4 is part of the cygwin distribution under libraries or
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3856 graphics, but is not installed by default. You need to run the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3857 cygwin setup again and select this package.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3858 @end example
1058
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3859
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3860 Ie, reinstalling XEmacs won't help because it is not part of the XEmacs
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3861 distribution.
d7285d54aa5f [xemacs-hg @ 2002-10-18 05:43:26 by stephent]
stephent
parents: 892
diff changeset
3862
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3863 @unnumberedsec 2.4: General Troubleshooting
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3864
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3865 @node Q2.4.1, Q2.4.2, Q2.3.8, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3866 @unnumberedsubsec Q2.4.1: How do I deal with bugs or with problems building, installing, or running?
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3867
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3868 The file @file{PROBLEMS} contains information on many common problems that
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3869 occur in building, installing and running XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3870
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3871 Reports of bugs in XEmacs should be sent to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3872 @email{xemacs-beta@@xemacs.org}. You can also post to the newsgroup
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3873 comp.emacs.xemacs (or equivalentlt, send to the mailing list
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3874 @email{xemacs@@xemacs.org}), but it is less likely that the developers
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3875 will see it in a timely fashion. @xref{Bugs,,, xemacs, the XEmacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3876 User's Manual}, for more information on how to report bugs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3877 @xref{Q1.4.2}, for more information on mailing lists relating to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3878 XEmacs.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3879
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3880 There are three ways to read the Bugs section.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3881
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3882 @enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3883 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3884 In a printed copy of the XEmacs manual.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3885
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3886 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3887 With Info. First, start XEmacs. From the menu, select
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3888 @samp{Help->Info (Online Docs)->Info Contents} to enter Info, then
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3889 click on @samp{XEmacs}, then on @samp{Bugs}. Or, use the keyboard: do
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3890 @kbd{C-h i} to enter Info, then @kbd{m XEmacs RET} to get to the Emacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3891 manual, then @kbd{m Bugs RET} to get to the section on bugs. Or use
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3892 standalone Info in a like manner. (Standalone Info is part of the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3893 Texinfo distribution, not part of the XEmacs distribution.)
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3894
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3895 @item
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3896 By hand. Do
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3897 @example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3898 cat info/xemacs* | more "+/^File: xemacs.info, Node: Bugs,"
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3899 @end example
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3900 @end enumerate
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3901
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3902 @node Q2.4.2, Q2.4.3, Q2.4.1, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3903 @unnumberedsubsec Q2.4.2: Help! XEmacs just crashed on me!
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3904
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3905 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3906 hard to auto-save all of your files before dying. (The main time that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3907 this will not happen is if the machine physically lost power or if you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3908 killed the XEmacs process using @code{kill -9}). The next time you try
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3909 to edit those files, you will be informed that a more recent auto-save
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3910 file exists. You can use @kbd{M-x recover-file} to retrieve the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3911 auto-saved version of the file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3912
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
3913 You can use the command @kbd{M-x recover-session} after a crash to pick
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
3914 up where you left off.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3915
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3916 Now, XEmacs is not perfect, and there may occasionally be times, or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3917 particular sequences of actions, that cause it to crash. If you can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3918 come up with a reproducible way of doing this (or even if you have a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3919 pretty good memory of exactly what you were doing at the time), the
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3920 maintainers would be very interested in knowing about it. The best
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3921 way to report a bug is using @kbd{M-x report-emacs-bug} (or by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3922 selecting @samp{Send Bug Report...} from the Help menu). If that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3923 won't work (e.g. you can't get XEmacs working at all), send ordinary
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3924 mail to @email{xemacs-beta@@xemacs.org}. @emph{MAKE SURE} to include
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3925 the output from the crash, especially including the Lisp backtrace, as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3926 well as the XEmacs configuration from @kbd{M-x describe-installation}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3927 (or equivalently, the file @file{Installation} in the top of the build
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3928 tree). Note that the developers do @emph{not} usually follow
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3929 @samp{comp.emacs.xemacs} on a regular basis; thus, this is better for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3930 general questions about XEmacs than bug reports.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3931
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3932 If at all possible, include a C stack backtrace of the core dump that
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3933 was produced. This shows where exactly things went wrong, and makes
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3934 it much easier to diagnose problems. To do this under Unix and Mac OS
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3935 X, you need to locate the core file (it's called @file{core}, and is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3936 usually sitting in the directory that you started XEmacs from, or your
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3937 home directory if that other directory was not writable). Then, go to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3938 that directory and execute a command like:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3939
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3940 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3941 gdb `which xemacs` core
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3942 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3943
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3944 and then issue the command @samp{where} to get the stack backtrace. You
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3945 might have to use @code{dbx} or some similar debugger in place of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3946 @code{gdb}. If you don't have any such debugger available, complain to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3947 your system administrator.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3948
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3949 It's possible that a core file didn't get produced or the stack trace
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3950 from gdb is garbage, in which case you're out of luck unless you can
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3951 reproduce the bug. A nonexistent core file can happen in some
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3952 circumstances on some operating systems, depending on what exactly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3953 triggered the crash. It's also possible, however, that your limits
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3954 are set to turn them off. You may be able to reenable them using a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3955 command like @samp{unlimit coredumpsize} or @samp{ulimit -c}. (To find
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3956 out how your limits are set, use the command @samp{limit}.) However, if
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3957 you didn't explicitly set your limits this way, go complain to your
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3958 system administrator and tell him not to disable core files by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3959 default.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3960
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3961 A garbaged stack trace can happen for various reasons. Some versions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3962 of gdb are broken on certain operating systems and aren't able to read
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3963 the core file. It's also possible that the stack got overwritten
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3964 during the crash. A very simple reason, however, is that your version
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3965 of XEmacs was compiled without debugging information or had the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3966 debugging information stripped. A compilation with optimization can
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3967 also result in partly or completely garbaged stack trace. In such
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3968 cases, you will need to recompile XEmacs with debugging information
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3969 and without optimization; @xref{Q2.4.4, How to debug an XEmacs problem
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3970 with a debugger}. Note also that core files currently don't work at
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3971 all under Cygwin, and the only way to get a backtrace is to run XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3972 from gdb.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3973
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3974 If you cannot get a backtrace from the core dump, but can reproduce
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3975 the problem, try running XEmacs under gdb. The goal is to get clean C
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3976 and Lisp backtraces and submit a bug report including full
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3977 configuration information as described above, as this will greatly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3978 assist in the process of tracking down the bug. However, even partial
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3979 information is better than none. The process of getting backtraces
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
3980 from gdb is described in detail in @ref{Q2.4.4, How to debug an XEmacs
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3981 problem with a debugger}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3982
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3983 If you're under Microsoft Windows, you're out of luck unless you happen
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3984 to have a debugging aid installed on your system, for example Visual
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3985 C++. In this case, the crash will result in a message giving you the
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3986 option to enter a debugger (for example, by pressing @samp{Cancel}). Do
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3987 this and locate the stack-trace window. (If your XEmacs was built
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3988 without debugging information, the stack trace may not be very useful.)
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
3989
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3990 When making a problem report make sure that:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3991
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3992 @enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3993 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3994 Report @strong{all} of the information output by XEmacs during the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3995 crash.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3996
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3997 @item
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
3998 You mention what O/S and Hardware you are running XEmacs on.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3999
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4000 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4001 What version of XEmacs you are running.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4002
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4003 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4004 What build options you are using.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4005
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4006 @item
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4007 If the problem is related to graphics and you are running Unix or Mac
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4008 OS X, we will also need to know what version of the X Window System
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4009 you are running, and what window manager you are using.
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4010
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4011 @item
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4012 If the problem happened on a TTY, please include the terminal type.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4013
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4014 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4015 Try very hard to get both C and Lisp backtraces, as described above.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4016 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4017
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4018 Much of the information above is automatically generated by @kbd{M-x
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4019 report-emacs-bug}. Even more, and often useful, information can be
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4020 generated by redirecting the output of @code{make} and @code{make check}
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4021 to a file (@file{beta.err} is the default used by @code{build-report}),
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4022 and executing @kbd{M-x build-report}.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4023
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4024
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4025 @node Q2.4.3, Q2.4.4, Q2.4.2, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4026 @unnumberedsubsec Q2.4.3: XEmacs crashes and I compiled it myself.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4027
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4028 There have been a variety of reports of crashes due to compilers with
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4029 buggy optimizers. If you are compiling with optimization, consider
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4030 turning it off (@pxref{Q2.4.4, How to debug an XEmacs problem with a
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4031 debugger}) and recompiling.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4032
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4033 Please see the @file{PROBLEMS} file that comes with XEmacs (it's in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4034 the top-level source directory) to read what it says about your
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4035 platform.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4036
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
4037 If you compiled XEmacs 21.4 or earlier using @samp{--use-union-type}, or
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4038 21.5 or later using @samp{--enable-union-type} (or in either case used
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4039 the option @samp{USE_UNION_TYPE} in @file{config.inc} under Windows),
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4040 try recompiling again without it. The union type has been known to
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4041 trigger compiler errors in a number of cases.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4042
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4043 @node Q2.4.4, Q2.4.5, Q2.4.3, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4044 @unnumberedsubsec Q2.4.4: How to debug an XEmacs problem with a debugger
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4045
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4046 If XEmacs does crash on you, one of the most productive things you can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4047 do to help get the bug fixed is to poke around a bit with the debugger.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4048 Here are some hints:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4049
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4050 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4051 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4052 First of all, if the crash is at all reproducible, consider very
563
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4053 strongly recompiling your XEmacs with debugging symbols and with no
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4054 optimization (e.g. with GCC use the compiler flags @samp{-g -O0} --
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4055 that's an "oh" followed by a zero), and with the configure options
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4056 @samp{--debug=yes} and @samp{--error-checking=all}
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4057 (@samp{--enable-debug=yes} and @samp{--enable-error-checking=all} on
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4058 XEmacs 21.5 or later). This will make your XEmacs run somewhat slower,
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4059 but you are a lot more likely to catch the problem earlier (closer to
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4060 its source). It makes it a lot easier to determine what's going on with
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4061 a debugger. The way to control the compiler flags is with the
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4062 configuration option @samp{--cflags} (@samp{--with-cflags} in 21.5). If
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4063 you have a recent version of 21.5, you should use
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4064 @samp{--without-optimization} in preference to directly setting
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4065 @samp{--cflags}.
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4066
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4067 @item
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4068 If it's not a true crash (@emph{i.e.}, XEmacs is hung, or a zombie
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4069 process), or it's inconvenient to run XEmacs again because XEmacs is
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4070 already running or is running in batch mode as part of a bunch of
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4071 scripts, you may be able to attach to the existing process with your
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4072 debugger. Under Unix and Mac OS X, the typical way to do this is to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4073 first use some variant of the @samp{ps} command to figure out the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4074 process ID of XEmacs, for example @samp{ps -auxww | grep xemacs} under
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4075 a BSD variant, @samp{ps -elf | grep xemacs} under Linux or System V,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4076 or @samp{ps -aW | grep xemacs} under Cygwin. Then run
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4077
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4078 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4079 gdb /path/to/xemacs/xemacs ####
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4080 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4081
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4082 Where @code{####} is the process id of your XEmacs. (If you're not
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4083 sure, try using @samp{which xemacs}.) When gdb attaches, the xemacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4084 will stop and you can type @samp{where} in gdb to get a stack trace as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4085 usual. To get things moving again, you can just type @samp{quit} in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4086 gdb. It'll tell you the program is running and ask if you want to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4087 quit anyways. Say @samp{y} and it'll quit and have your emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4088 continue from where it was at.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4089
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4090 If you're running another debugger, a similar method may work, or you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4091 may have to run the debugger first and then use the @code{attach}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4092 command or something similar.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4093
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4094 Under Microsoft Windows, use the menu item @samp{Build->Start
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4095 Debug->Attach to Process...} and select the XEmacs process from the list
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4096 given.
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4097
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4098 @item
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4099 If you're able to run XEmacs under a debugger and reproduce the crash,
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4100 here are some things you can do:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4102 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4103 If XEmacs is hitting an assertion failure, put a breakpoint on
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4104 @code{assert_failed()}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4106 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4107 If XEmacs is hitting some weird Lisp error that's causing it to crash
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4108 (e.g. during startup), put a breakpoint on @code{signal_1()}---this is
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4109 declared static in @file{eval.c}.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4110
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4111 @item
563
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4112 If XEmacs is outputting lots of X errors, put a breakpoint on
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4113 @code{x_error_handler()}; that will tell you which call is causing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4114 them. Note that the result may not be very useful by default because
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4115 X Windows normally operates asynchronously: A bunch of commands are
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4116 buffered up and then sent to the server all at once. This greatly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4117 improves performance over a network but means that an error may not be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4118 reported until the server receives the commands, which can be long
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4119 after XEmacs made the erroneous calls. For best results, you need to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4120 make the X server synchronous before getting the backtrace. This can
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4121 be done by starting XEmacs with the @samp{-sync} option or executing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4122 the Lisp code @code{(x-debug-mode t)}.
563
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4123
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4124 @item
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4125 Internally, you will probably see lots of variables that hold objects of
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4126 type @code{Lisp_Object}. These are references to Lisp objects.
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4127 Printing them out with the debugger probably won't be too
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4128 useful---you'll likely just see a number. To decode them, do this:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4129
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4130 @example
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4131 call debug_print (OBJECT)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4132 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4133
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4134 where @var{OBJECT} is whatever you want to decode (it can be a variable,
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4135 a function call, etc.). This uses the Lisp printing routines to out a
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4136 readable representation on the TTY from which the xemacs process was
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4137 invoked.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4138
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4139 Under 21.5 and later, @code{dp} is defined as an easier-to-type equivalent
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4140 of @code{debug_print}. You can also try @code{dpa} if you can't see
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4141 the output from @code{debug_print} (this will return a string containing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4142 the output), or use @code{debug_p3} if @code{debug_print} itself triggers
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4143 a crash (this is a less comprehensive but super-safe way to print out
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4144 a Lisp object).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4145
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4146 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4147 If you want to get a Lisp backtrace showing the Lisp call
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4148 stack, do this:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4149
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4150 @example
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4151 call debug_backtrace ()
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4152 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4153
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4154 Under 21.5 and later, @code{db} is defined as an easier-to-type equivalent
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4155 of @code{debug_backtrace}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4156
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4157 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4158 Using @code{debug_print} and @code{debug_backtrace} has two
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4159 disadvantages - they can only be used with a running (including hung
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4160 or zombie) xemacs process, and they do not display the internal C
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4161 structure of a Lisp Object. Even if all you've got is a core dump,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4162 all is not lost.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4163
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4164 If you're using GDB, there are some macros in the file
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4165 @file{src/.gdbinit} in the XEmacs source distribution that should make
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4166 it easier for you to decode Lisp objects. This file is automatically
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4167 read by gdb if gdb is run in the directory where xemacs was built, and
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4168 contains these useful macros to inspect the state of xemacs:
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4169
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4170 @table @code
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4171 @item pobj
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4172 Usage: pobj lisp_object @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4173 Print the internal C representation of a lisp object.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4174
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4175 @item xtype
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4176 Usage: xtype lisp_object @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4177 Print the Lisp type of a lisp object.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4178
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4179 @item lbt
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4180 Usage: lbt @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4181 Print the current Lisp stack trace.
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4182 Requires a running xemacs process. (It works by calling the db
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4183 routine described above.)
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4184
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4185 @item ldp
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4186 Usage: ldp lisp_object @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4187 Print a Lisp Object value using the Lisp printer.
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4188 Requires a running xemacs process. (It works by calling the dp
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4189 routine described above.)
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4190
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4191 @item run-temacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4192 Usage: run-temacs @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4193 Run temacs interactively, like xemacs.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4194 Use this with debugging tools (like purify) that cannot deal with dumping,
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4195 or when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4196
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4197 @item dump-temacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4198 Usage: dump-temacs @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4199 Run the dumping part of the build procedure.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4200 Use when debugging temacs, not xemacs!
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4201 Use this when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4202
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4203 @item check-xemacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4204 Usage: check-xemacs @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4205 Run the test suite. Equivalent to 'make check'.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4206
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4207 @item check-temacs
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4208 Usage: check-temacs @*
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4209 Run the test suite on temacs. Equivalent to 'make check-temacs'.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4210 Use this with debugging tools (like purify) that cannot deal with dumping,
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4211 or when temacs builds successfully, but xemacs does not.
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4212 @end table
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4213
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4214 If you are using Sun's @file{dbx} debugger, there is an equivalent file
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4215 @file{src/.dbxrc}, which defines the same commands for dbx.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4216
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4217 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4218 If you're using a debugger to get a C stack backtrace and you're seeing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4219 stack traces with some of the innermost frames mangled, it may be due to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4220 dynamic linking. (This happens especially under Linux.) Consider
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4221 reconfiguring with @samp{--dynamic=no} (@samp{--with-dynamic=no} in 21.5
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4222 or later). Also, sometimes (again under Linux), stack backtraces of
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4223 core dumps will have the frame where the fatal signal occurred mangled;
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4224 if you can obtain a stack trace while running the XEmacs process under a
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4225 debugger, the stack trace should be clean.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4226
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4227 @email{1CMC3466@@ibm.mtsac.edu, Curtiss} suggests upgrading to ld.so
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4228 version 1.8 if dynamic linking and debugging is a problem on Linux.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4229
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4230 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4231 If you're using a debugger to get a C stack backtrace and you're
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4232 getting a completely mangled and bogus stack trace, it's probably due to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4233 one of the following:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4234
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4235 @enumerate a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4236 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4237 Your executable has been stripped. Bad news. Tell your sysadmin not to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4238 do this---it doesn't accomplish anything except to save a bit of disk
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4239 space, and makes debugging much much harder.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4240
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4241 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4242 Your stack is getting trashed. Debugging this is hard; you have to do a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4243 binary-search type of narrowing down where the crash occurs, until you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4244 figure out exactly which line is causing the problem. Of course, this
1258
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4245 only works if the bug is highly reproducible. Also, in many cases if
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4246 you run XEmacs from the debugger, the debugger can protect the stack
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4247 somewhat. However, if the stack is being smashed, it is typically the
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4248 case that there is a wild pointer somewhere in the program, often quite
473e76fb6d95 [xemacs-hg @ 2003-02-05 08:18:55 by stephent]
stephent
parents: 1183
diff changeset
4249 far from where the crash occurs.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4250
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4251 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4252 If your stack trace has exactly one frame in it, with address 0x0, this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4253 could simply mean that XEmacs attempted to execute code at that address,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4254 e.g. through jumping to a null function pointer. Unfortunately, under
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4255 those circumstances, GDB under Linux doesn't know how to get a stack
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4256 trace. (Yes, this is the fourth Linux-related problem I've mentioned. I
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4257 have no idea why GDB under Linux is so bogus. Complain to the GDB
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4258 authors, or to comp.os.linux.development.system.) Again, you'll have to
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4259 use the narrowing-down process described above.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4261 @item
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4262 You will get a Lisp backtrace output when XEmacs crashes, so you'll have
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4263 something useful.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4265 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4266
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4267 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4268 If you compile with the newer gcc variants gcc-2.8 or egcs, you will
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4269 also need gdb 4.17 or above. Earlier releases of gdb can't handle the
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4270 debug information generated by the newer compilers.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4272 @item
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4273 In versions of XEmacs before 21.2.27, @file{src/.gdbinit} was named
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4274 @file{src/gdbinit}. This had the disadvantage of not being sourced
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
4275 automatically by gdb, so you had to set that up yourself.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4276
1183
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4277 @item
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4278 If you are running Microsoft Windows, the the file @file{nt/README} for
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4279 further information about debugging XEmacs.
c1553814932e [xemacs-hg @ 2003-01-03 12:12:30 by stephent]
stephent
parents: 1143
diff changeset
4280
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4281 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4282
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4283 @node Q2.4.5, Q2.4.6, Q2.4.4, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4284 @unnumberedsubsec Q2.4.5: I get a cryptic error message when trying to do something.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4285
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4286 When I try to use some particular option of some particular package, I
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4287 get a cryptic error message in the minibuffer.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4288
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4289 If the message went by too quickly, use @samp{Help->Recent Messages}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4290 from the menubar (or type @kbd{C-h l}) to see recent messages.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4291
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4292 If you can't figure out what's going on, select
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4293 @samp{Options->Troubleshooting->Debug on Error} from the menubar (or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4294 type @kbd{M-:} then @kbd{(setq debug-on-error t)}) then try and make
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4295 the error happen again. This will put in the debugger (you can get
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4296 out of this and continue what you were doing before by typing @kbd{c})
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4297 and give you a backtrace that may be enlightening. If not, try
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4298 reading through this FAQ; if that fails, you could try posting to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4299 @samp{comp.emacs.xemacs} (making sure to include the backtrace) and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4300 someone may be able to help. If you can identify which XEmacs Lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4301 source file the error is coming from you can get a more detailed stack
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4302 backtrace by doing the following:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4303
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4304 @enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4305 @item
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4306 Visit the .el file in an XEmacs buffer.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4307
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4308 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4309 Issue the command @kbd{M-x eval-current-buffer}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4310
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4311 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4312 Reproduce the error.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4313 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4314
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4315 For more information on debugging Lisp code, @xref{Debugging,,,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4316 lispref, XEmacs Lisp Reference Manual}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4317
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4318 @node Q2.4.6, Q2.4.7, Q2.4.5, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4319 @unnumberedsubsec Q2.4.6: XEmacs hangs when I try to do something.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4320
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4321 XEmacs might just be slow; some operations take a long time. XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4322 may also be waiting on a response from the network, for example when
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4323 you are trying to send mail.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4324
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4325 You can usually interrupt XEmacs by typing @kbd{C-g}. If not (for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4326 example, Lisp code explicitly disabled this by setting
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4327 @code{inhibit-quit}), you can use the "critical quit" mechanism by
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4328 typing @kbd{Control-Shift-G}. This should also pop you into the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4329 debugger and give you a backtrace, which can tell you where the
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4330 problem is (@pxref{Q2.4.4, How to debug an XEmacs problem with a
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4331 debugger}). (Note that setting @code{debug-on-quit} or selecting
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4332 @samp{Options->Troubleshooting->Debug on Quit} will also cause regular
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4333 @kbd{C-g} to enter the debugger and give you a backtrace.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4334
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4335 If you can't interrupt XEmacs this way, or for some reason XEmacs is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4336 not talking to the keyboard, you can try sending the @samp{SIGINT}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4337 signal using the @samp{kill} command.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4338
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4339 If the Lisp backtrace isn't enlightening, or if XEmacs is so hung that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4340 you can't interrupt it at all, you could try attaching to the process
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4341 and getting a C stack backtrace. @xref{Q2.4.4, How to debug an XEmacs
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4342 problem with a debugger}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4343
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4344 @node Q2.4.7, Q2.4.8, Q2.4.6, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4345 @unnumberedsubsec Q2.4.7: I get an error message when XEmacs is running in batch mode.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4346
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4347 Typically this happens when you are trying to compile some Elisp code.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4348 If you are doing this as part of XEmacs or the XEmacs packages, you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4349 should automatically get a backtrace, which can help you determine the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4350 source of the problem. In other cases, you can get equivalent results
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4351 by setting the environment variable @samp{XEMACSDEBUG} to @samp{(setq
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4352 stack-trace-on-error t load-always-display-messages t
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4353 load-ignore-out-of-date-elc-files t load-show-full-path-in-messages
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4354 t)} (this needs to be all on one line; to set an environment variable,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4355 use @samp{export XEMACSDEBUG='FOO'} under @samp{bash}, @samp{zsh},
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4356 etc. or @samp{setenv XEMACSDEBUG 'FOO'} under @samp{csh} and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4357 @samp{tcsh}). @samp{XEMACSDEBUG} specifies Lisp code that will be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4358 executed at startup time.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4359
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4360 If the backtrace is not sufficiently useful in helping you diagnose
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4361 the problem, you should consider using a debugger such as GDB.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4362 @xref{Q2.4.4, How to debug an XEmacs problem with a debugger}. You
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4363 probably want to set a breakpoint on @code{signal_1}. Since such
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4364 errors often occur during compiling, which is often triggered by a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4365 complex command run from a make suite, it may be easier to attach to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4366 the process once it's running.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4367
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4368 Under Microsoft Windows (and perhaps other operating systems), there is
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4369 another useful trick you can do if you have configured with debugging
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4370 support (configure option @samp{--debug} (@samp{--with-debug} in 21.5)
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4371 or setting @samp{DEBUG_XEMACS} in @file{nt/config.inc}). Set the
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4372 environment variable @samp{XEMACSDEBUG} (as described above) to
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4373 @samp{(setq debug-on-error t)}. Then, when an error occurs
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4374 noninteractively, instead of trying to invoke the Lisp debugger (which
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
4375 obviously won't work), XEmacs will break out to a C debugger using
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4376 @code{(force-debugging-signal t)}. @emph{NOTE}: This runs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4377 @code{abort()}!!! (As well as and after executing INT 3 under MS
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4378 Windows, which should invoke a debugger if it's active.) This is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4379 guaranteed to kill XEmacs! (But in this situation, XEmacs is about to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4380 die anyway, and if no debugger is present, this will usefully dump
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4381 core.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4382
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4383 @node Q2.4.8, Q2.4.9, Q2.4.7, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4384 @unnumberedsubsec Q2.4.8: The keyboard or mouse is not working properly, or I have some other event-related problem.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4385
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4386 XEmacs has various facilities for debugging event handling.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4387
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4388 First, try setting the variable @code{debug-emacs-events} to non-zero.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4389 This will output various information showing which events are being
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4390 received and how they are being translated. This may show you, for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4391 example, that a key command is getting intercepted using
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4392 @code{key-translation-map}; this problem can otherwise be very tricky
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4393 to debug.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4394
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4395 Under X, you can see exactly which events are being received from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4396 window system by setting @code{x-debug-events} to non-zero. (The value
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4397 @samp{1} gives you regular output, and @samp{2} gives you verbose
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4398 output, including all parameters.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4399
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4400 A similar facility exists under MS Windows: Set
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4401 @code{debug-mswindows-events} to non-zero. (The value @samp{1} gives
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4402 you regular output. The value @samp{2} gives you verbose output,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4403 including all parameters. The value @samp{3} gives you
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4404 super-gorily-detailed output.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4405
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4406 @node Q2.4.9, Q2.4.10, Q2.4.8, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4407 @unnumberedsubsec Q2.4.9: @kbd{C-g} doesn't work for me. Is it broken?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4408
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4409 @kbd{C-g} does work for most people in most circumstances. If it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4410 doesn't, there are two possible explanations:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4411
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4412 @enumerate
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4413 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4414 XEmacs is hung in a way that prevents @kbd{C-g} from working. This
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4415 can happen when code is wrapped with a binding of @code{inhibit-quit}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4416 to @code{t}; you should still be able interrupt XEmacs using "critical
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4417 quit". On the other hand, XEmacs may be seriously wedged. (If you're
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4418 lucky, sending @samp{SIGINT} to the XEmacs process will interrupt it.)
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4419 @xref{Q2.4.6, XEmacs hangs when I try to do something.}.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4420
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4421 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4422 @kbd{C-g} is indeed broken on your system. To test, try executing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4423 @code{(while t)} from the @samp{*scratch*} buffer. If @kbd{C-g}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4424 doesn't interrupt, then it's broken. This used to happen with systems
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4425 where @samp{SIGIO} was broken, but @samp{BROKEN_SIGIO} wasn't defined.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4426 However, there may not be very many such systems nowadays.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4427 @end enumerate
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4428
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4429 @node Q2.4.10, Q2.4.11, Q2.4.9, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4430 @unnumberedsubsec Q2.4.10: How do I debug process-related problems?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4431
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4432 Under MS Windows, you can set the variable
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4433 @code{debug-mswindows-process-command-lines} to non-@samp{nil} to get
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4434 information on exactly what is getting passed to a process. This can
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4435 be useful in determining problems with quoting. (Under Unix, a process
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4436 receives each argument separately, but under MS Windows a single
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4437 command line is received, and arguments with spaces or other special
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4438 characters in them must be quoted. Unfortunately this means that each
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4439 process, potentially at least, has its own quoting conventions, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4440 the code to process quoting conventions in @file{cmd.exe}, the Visual
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4441 C++ startup code and the like is baroque and poorly documented.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4442 XEmacs uses the variable
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4443 @code{mswindows-construct-process-command-line-alist} to construct a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4444 command line from a list of arguments based on the command to be run,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4445 but it is (and cannot be) a perfect solution.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4446
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4447 @node Q2.4.11, Q2.4.12, Q2.4.10, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4448 @unnumberedsubsec Q2.4.11: XEmacs is outputting lots of X errors.
563
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4449
183866b06e0b [xemacs-hg @ 2001-05-24 07:50:48 by ben]
ben
parents: 479
diff changeset
4450 If this is happening, we would very much like to know what's causing
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4451 them. To find this out, see @ref{Q2.4.4, How to debug an XEmacs
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4452 problem with a debugger}. Try to get both a C and Lisp backtrace, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4453 send them along with the full error output to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4454 @email{xemacs-beta@@xemacs.org}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4455
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4456 @node Q2.4.12, Q2.5.1, Q2.4.11, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4457 @unnumberedsubsec Q2.4.12: After upgrading, XEmacs won't do `foo' any more!
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4458
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4459 You have been used to doing `foo', but now when you invoke it (or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4460 click the toolbar button or select the menu item), nothing (or an
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4461 error) happens. The simplest explanation is that you are missing a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4462 package that is essential to you. You can either track it down and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4463 install it (there is a list of packages and brief descriptions of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4464 their contents in @file{etc/PACKAGES}), or install the `Sumo Tarball'
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4465 (@pxref{Q2.1.2, How do I figure out which packages to install?}).
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4466
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4467 @c #### should xref to XEmacs manual here
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4468
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4469 @unnumberedsec 2.5: Startup-Related Problems
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4470
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4471 @node Q2.5.1, Q2.5.2, Q2.4.12, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4472 @unnumberedsubsec Q2.5.1: XEmacs cannot connect to my X Terminal!
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4473
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4474 Help! I can not get XEmacs to display on my Envizex X-terminal!
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4475
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4476 Try setting the @code{DISPLAY} variable using the numeric IP address of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4477 the host you are running XEmacs from.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4478
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4479 @node Q2.5.2, Q2.5.3, Q2.5.1, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4480 @unnumberedsubsec Q2.5.2 Startup problems related to paths or package locations.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4481
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4482 First of all, if XEmacs can't find the packages, check to make sure
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4483 that you put the packages in the right place, or that you told XEmacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4484 where to look for the packages when you compiled it. @xref{Q2.1.1}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4485
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4486 If something is still going wrong, or you get a startup warning about
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4487 not being able to deduce some paths, you can get detailed information
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4488 on the path-searching process at startup by setting the environment
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4489 variable @samp{EMACSDEBUGPATHS} to a non-null value. One thing to
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4490 look for if you're having package problems is the value of
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4491 @samp{configure-package-path}. This corresponds to what was compiled
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4492 into XEmacs using the @samp{--package-prefix} or @samp{--package-path}
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4493 parameter (@pxref{Q2.1.1}). If this has the value of @samp{nil},
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4494 this means that no value was compiled into XEmacs using these parameters.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4495
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4496 @node Q2.5.3, Q2.5.4, Q2.5.2, Installation
4658
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4497 @unnumberedsubsec Q2.5.3: XEmacs won't start without network, or starts slowly.
434
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4498
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4499 If XEmacs starts when you're on the network, but fails when you're not
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4500 on the network, you may be missing a "localhost" entry in your
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4501 @file{/etc/hosts} file. The file should contain an entry like:
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4502
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4503 @example
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4504 127.0.0.1 localhost
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4505 @end example
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4506
4658
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4507 Add that line, and XEmacs will be happy. If your network is unreliable,
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4508 such as a Wifi network, you may experience delays but eventually XEmacs
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4509 starts up. This may be due to having the lookup order give precedence
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4510 to DNS over the hosts file (often lookup order is defined in one of the
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4511 files @file{/etc/host.conf}, @file{/etc/nsswitch.conf}, or
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4512 @file{/etc/resolv.conf}, depending on OS). See your system
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4513 documentation for this configuration. Note that changing the lookup
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4514 order is a workaround; there are good reasons to have DNS come earlier
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4515 by default. Make sure those reasons are less important to you than a
fd2495d78aac Add FAQ on network slows (lookup order of DNS and /etc/hosts).
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4625
diff changeset
4516 quick XEmacs startup.
434
9d177e8d4150 Import from CVS: tag r21-2-25
cvs
parents: 430
diff changeset
4517
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4518 @node Q2.5.4, Q2.5.5, Q2.5.3, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4519 @unnumberedsubsec Q2.5.4: Startup warnings about deducing proper fonts?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4520
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4521 How can I avoid the startup warnings about deducing proper fonts?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4522
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4523 This is highly dependent on your installation, but try with the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4524 following font as your base font for XEmacs and see what it does:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4525
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4526 @format
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4527 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4528 @end format
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4529
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4530 More precisely, do the following in your resource file:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4531
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4532 @format
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4533 Emacs.default.attributeFont: \
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4534 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4535 @end format
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4536
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4537 If you just don't want to see the @samp{*Warnings*} buffer at startup
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4538 time, you can set this:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4539
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4540 @lisp
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4541 (setq display-warning-minimum-level 'error)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4542 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4543
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4544 The buffer still exists; it just isn't in your face.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4545
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4546 @node Q2.5.5, Q2.5.6, Q2.5.4, Installation
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4547 @unnumberedsubsec Q2.5.5: Warnings from incorrect key modifiers.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4548
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4549 The following information comes from the @file{PROBLEMS} file that comes
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4550 with XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4551
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4552 If you're having troubles with HP/UX it is because HP/UX defines the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4553 modifiers wrong in X. Here is a shell script to fix the problem; be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4554 sure that it is run after VUE configures the X server.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4555
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4556 @example
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4557 #! /bin/sh
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4558 xmodmap 2> /dev/null - << EOF
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4559 keysym Alt_L = Meta_L
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4560 keysym Alt_R = Meta_R
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4561 EOF
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4562
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4563 xmodmap - << EOF
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4564 clear mod1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4565 keysym Mode_switch = NoSymbol
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4566 add mod1 = Meta_L
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4567 keysym Meta_R = Mode_switch
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4568 add mod2 = Mode_switch
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4569 EOF
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4570 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4571
5390
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4572 @node Q2.5.6, Q2.5.7, Q2.5.5, Installation
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
4573 @unnumberedsubsec Q2.5.6: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4574
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4575 Yes.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4576
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4577 The console was there because @file{temacs} (and in turn, @file{xemacs})
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4578 was a console application, and Windows typically creates a new
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4579 console for a console process unless the creating process requests that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4580 one isn't created. This used to be fixed with @file{runemacs}, a small
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4581 Windows application that existed merely to start @file{xemacs}, stating
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4582 that it didn't want a console.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4583
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4584 XEmacs 21.4 fixes this cleanly by the virtue of being a true "GUI"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4585 application. The explanation of what that means is included for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4586 educational value.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4587
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4588 When building an application to be run in a Win32 environment, you must
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4589 state which sub-system it is to run in. Valid subsystems include
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4590 "console" and "gui". The subsystem you use affects the run time
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4591 libraries linked into your application, the start up function that is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4592 run before control is handed over to your application, the entry point
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4593 to your program, and how Windows normally invokes your program. (Console
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4594 programs automatically get a console created for them at startup if
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4595 their stdin/stdout don't point anywhere useful, which is the case when
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4596 run from the GUI. This is a stupid design, of course -- instead, the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4597 console should get created only when the first I/O actually occurs!
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4598 GUI programs have an equally stupid design: When called from
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4599 @file{CMD.EXE}/@file{COMMAND.COM}, their stdin/stdout will be set to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4600 point nowhere useful, even though the command shell has its own
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4601 stdin/stdout. It's as if someone who had learned a bit about stdio but
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4602 had no actual knowledge of interprocess communication designed the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4603 scheme; unfortunately, the whole process-communication aspect of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4604 Win32 API is equally badly designed.) For example, the entry point for a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4605 console app is "main" (which is what you'd expect for a C/C++ program),
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4606 but the entry point for a "gui" app is "WinMain". This confuses and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4607 annoys a lot of programmers who've grown up on Unix systems, where the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4608 kernel doesn't really care whether your application is a gui program or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4609 not.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4610
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4611 For reasons not altogether clear, and are lost in the mists of time and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4612 tradition, XEmacs on Win32 started out as a console application, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4613 therefore a console was automatically created for it. (It may have been
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4614 made a console application partly because a console is needed in some
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4615 circumstances, especially under Win95, to interrupt, terminate, or send
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4616 signals to a child process, and because of the bogosity mentioned above
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4617 with GUI programs and the standard command shell. Currently, XEmacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4618 just creates and immediately hides a console when necessary, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4619 works around the "no useful stdio" problem by creating its own console
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4620 window as necessary to display messages in.)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4621
5390
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4622 @node Q2.5.7, , Q2.5.6, Installation
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4623 @unnumberedsubsec Q2.5.7: XEmacs issues messages about ``auto-autoloads already loaded.''
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4624
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4625 On Sat, 05 Mar 2011 11:54:47 -0500, in Message-ID:
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4626 <4D726AD7.7020303@@gmail.com> on xemacs-beta, Raymond Toy reported:
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4627
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4628 @quotation
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4629 [N]ow every time I start xemacs, I get 100+ error messages stating that
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4630 the auto-autoload for every package has already been loaded.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4631 @end quotation
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4632
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4633 This occurs if you have duplicate packages installed on your load-path.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4634 To detect exactly which paths are duplicated, use @kbd{M-x
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4635 list-load-path-shadows}. If you have a small number of duplicated
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4636 libraries, it is probably one or more packages available both in the
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4637 XEmacs distribution and in third-party distributions. If you prefer the
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4638 third-party version, use @kbd{M-x list-packages} to get the package
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4639 management UI, and uninstall the particular packages. Removal of third
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4640 party packages must be done manually, if you wish to keep the version
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4641 distributed by XEmacs.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4642
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4643 When you have many duplicate packages, a common cause is that XEmacs
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4644 finds @emph{package root directories} that are duplicates of each other.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4645 This can occur in some automounter configurations, or when the roots
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4646 share some subtrees via symlinks. In this case, you will get a warning
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4647 for @emph{all} of the packages you have installed. Although this is
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4648 basically a site configuration problem, please report these cases.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4649 XEmacs is already aware of many automounter artifacts, and automatically
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4650 adjusts for them. Code is being added to try to detect symlinks. We
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4651 may not be able to handle every case, but we'd like to know about them,
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4652 and where possible incorporate workarounds.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4653
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4654 Package root directories are specified at configuration time via the
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4655 @code{--prefix}, @code{--exec-prefix}, and the @samp{--with-*-packages}
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4656 options; at runtime relative to the XEmacs binary (@file{../share} and
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4657 @file{..} (for run-in-place)); and at runtime via the
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4658 @samp{EMACS*PACKAGES} environment variables. Unless you have special
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4659 needs, it is best to install XEmacs and the packages (configuring with
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4660 @code{--with-prefix=$prefix} for XEmacs and by untarring the SUMOs in
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4661 @file{@code{$prefix}/share/xemacs/}.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4662
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4663 Note that older versions of XEmacs (21.1, 21.4, and early releases of
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4664 21.5) by default expect the packages to be installed under
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4665 @file{@code{$prefix}/lib} rather than @file{@code{$prefix}/share}. See
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4666 the documentation for @file{configure} for how to point XEmacs at
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4667 @file{@code{$prefix}/share/xemacs/} if that is preferred, or older
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4668 XEmacsen need to share packages with recent versions.
593d9f73a7e8 New FAQ Q2.5.7 on troubleshooting duplicate auto-autoloads.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 5384
diff changeset
4669
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4670 @node Editing, Display, Installation, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4671 @unnumbered 3 Editing Functions
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4672
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4673 This is part 3 of the XEmacs Frequently Asked Questions list. This
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4674 section is devoted to the editing-related capabilities of XEmacs (the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4675 keyboard, mouse, buffers, text selections, etc.) and how to customize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4676 them.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4677
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4678 @menu
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4679 3.0: The Keyboard
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4680 * Q3.0.1:: How can I customize the keyboard?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4681 * Q3.0.2:: How can I bind complex functions (or macros) to keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4682 * Q3.0.3:: How do I bind C-. and C-; to scroll one line up and down?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4683 * Q3.0.4:: Globally binding @kbd{Delete}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4684 * Q3.0.5:: How to map @kbd{Help} key alone on Sun type4 keyboard?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4685 * Q3.0.6:: How can you type in special characters in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4686 * Q3.0.7:: Can I turn on @dfn{sticky} modifier keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4687 * Q3.0.8:: How do I map the arrow keys?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4688 * Q3.0.9:: HP Alt key as Meta.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4689 * Q3.0.10:: Why does edt emulation not work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4690 * Q3.0.11:: How can I emulate VI and use it as my default mode?
4625
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4691 * Q3.0.12:: Mac Alt/Option key as Meta.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4692
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4693 3.1: The Mouse
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4694 * Q3.1.1:: How can I turn off Mouse pasting?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4695 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4696 * Q3.1.3:: Clicking the left button does not do anything in buffer list.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4697 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4698 * Q3.1.5:: How can I set XEmacs up so that it pastes where the text cursor is?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4699
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4700 3.2: Buffers, Text Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4701 * Q3.2.1:: Can I have the end of the buffer delimited in some way?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4702 * Q3.2.2:: How do I insert today's date into a buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4703 * Q3.2.3:: How do I get a single minibuffer frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4704 * Q3.2.4:: How can I enable auto-indent and/or Filladapt?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4705 * Q3.2.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4706
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4707 3.3: Text Selections
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4708 * Q3.3.1:: How do I select a rectangular region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4709 * Q3.3.2:: How can I turn off or change highlighted selections?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4710 * Q3.3.3:: How do I cause typing on an active region to remove it?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4711 * Q3.3.4:: Can I turn off the highlight during isearch?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4712 * Q3.3.5:: Why is killing so slow?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4713 * Q3.3.6:: Why does @kbd{M-w} take so long?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4714
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4715 3.4: Editing Source Code
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4716 * Q3.4.1:: I do not like cc-mode. How do I use the old c-mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4717 * Q3.4.2:: How do you make XEmacs indent CL if-clauses correctly?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4718 @end menu
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4719
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4720 @unnumberedsec 3.0: The Keyboard
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4721
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4722 @node Q3.0.1, Q3.0.2, Editing, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4723 @unnumberedsubsec Q3.0.1: How can I customize the keyboard?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4724
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4725 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4726
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4727 @node Q3.0.2, Q3.0.3, Q3.0.1, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4728 @unnumberedsubsec Q3.0.2: How can I bind complex functions (or macros) to keys?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4729
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4730 As an example, say you want the @kbd{paste} key on a Sun keyboard to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4731 insert the current Primary X selection at point. You can accomplish this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4732 with:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4733
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4734 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4735 (define-key global-map [f18] 'x-insert-selection)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4736 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4737
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4738 However, this only works if there is a current X selection (the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4739 selection will be highlighted). The functionality I like is for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4740 @kbd{paste} key to insert the current X selection if there is one,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4741 otherwise insert the contents of the clipboard. To do this you need to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4742 pass arguments to @code{x-insert-selection}. This is done by wrapping
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4743 the call in a 'lambda form:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4744
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4745 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4746 (global-set-key [f18]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4747 (lambda () (interactive) (x-insert-selection t nil)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4748 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4749
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4750 This binds the f18 key to a @dfn{generic} functional object. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4751 interactive spec is required because only interactive functions can be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4752 bound to keys.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4753
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4754 For the FAQ example you could use:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4755
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4756 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4757 (global-set-key [(control ?.)]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4758 (lambda () (interactive) (scroll-up 1)))
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4759 (global-set-key [(control ?;)]
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4760 (lambda () (interactive) (scroll-up -1)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4761 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4762
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4763 This is fine if you only need a few functions within the lambda body.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4764 If you're doing more it's cleaner to define a separate function.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4765 @xref{Q3.0.3, How do I bind C-. and C-; to scroll one line up and
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4766 down?}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4767
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4768 @node Q3.0.3, Q3.0.4, Q3.0.2, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4769 @unnumberedsubsec Q3.0.3: How do I bind C-. and C-; to scroll one line up and down?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4770
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4771 Add the following (Thanks to @email{mly@@adoc.xerox.com, Richard Mlynarik} and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4772 @email{wayne@@zen.cac.stratus.com, Wayne Newberry}) to @file{.emacs}:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4773
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4774 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4775 (defun scroll-up-one-line ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4776 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4777 (scroll-up 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4778
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4779 (defun scroll-down-one-line ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4780 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4781 (scroll-down 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4782
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4783 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4784 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4785 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4786
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4787 The key point is that you can only bind simple functions to keys; you
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4788 can not bind a key to a function that you're also passing arguments
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4789 to. (@pxref{Q3.0.2, How can I bind complex functions (or macros) to
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4790 keys?} for a better answer).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4791
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4792 @node Q3.0.4, Q3.0.5, Q3.0.3, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4793 @unnumberedsubsec Q3.0.4: Globally binding @kbd{Delete}?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4794
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4795 I cannot manage to globally bind my @kbd{Delete} key to something other
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4796 than the default. How does one do this?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4797
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4798 Answer: The problem is that many modes explicitly bind @kbd{Delete}. To
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4799 get around this, try the following:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4800
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4801 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4802 (defun foo ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4803 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4804 (message "You hit DELETE"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4805
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4806 (define-key key-translation-map 'delete 'redirected-delete)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4807 (global-set-key 'redirected-delete 'foo)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4808 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4809
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4810 @node Q3.0.5, Q3.0.6, Q3.0.4, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4811 @unnumberedsubsec Q3.0.5: How to map @kbd{Help} key alone on Sun type4 keyboard?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4812
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4813 The following works in GNU Emacs 19:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4814
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4815 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4816 (global-set-key [help] 'help-command);; Help
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4817 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4818
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4819 The following works in XEmacs with the addition of shift:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4820
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4821 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4822 (global-set-key [(shift help)] 'help-command);; Help
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4823 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4824
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4825 But it doesn't work alone. This is in the file @file{PROBLEMS} which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4826 should have come with your XEmacs installation: @emph{Emacs ignores the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4827 @kbd{help} key when running OLWM}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4828
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4829 OLWM grabs the @kbd{help} key, and retransmits it to the appropriate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4830 client using
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4831 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4832 @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4833 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4834 @code{XSendEvent}. Allowing Emacs to react to synthetic
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4835 events is a security hole, so this is turned off by default. You can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4836 enable it by setting the variable @code{x-allow-sendevents} to t. You
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4837 can also cause fix this by telling OLWM to not grab the help key, with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4838 the null binding @code{OpenWindows.KeyboardCommand.Help:}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4839
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4840 @node Q3.0.6, Q3.0.7, Q3.0.5, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4841 @unnumberedsubsec Q3.0.6: How can you type in special characters in XEmacs?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4842 One way is to use the package @code{x-compose}. Then you can use
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4843 sequences like @kbd{Compose " a} to get ä, etc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4844
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4845 Another way is to use the @code{iso-insert} package. Then you can use
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents: 454
diff changeset
4846 sequences like @kbd{C-x 8 " a} to get ä, etc.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4847
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4848 @email{glynn@@sensei.co.uk, Glynn Clements} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4849
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4850 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4851 It depends upon your X server.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4852
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4853 Generally, the simplest way is to define a key as Multi_key with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4854 xmodmap, e.g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4855 @c hey, show some respect, willya -- there's xkeycaps, isn't there? --
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4856 @c chr ;)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4857 @example
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4858 xmodmap -e 'keycode 0xff20 = Multi_key'
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4859 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4860
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4861 You will need to pick an appropriate keycode. Use xev to find out the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4862 keycodes for each key.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4863
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4864 [NB: On a `Windows' keyboard, recent versions of XFree86 automatically
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4865 define the right `Windows' key as Multi_key'.]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4866
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4867 Once you have Multi_key defined, you can use e.g.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4868 @example
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4869 Multi a ' => á
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4870 Multi e " => ë
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4871 Multi c , => ç
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4872 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4873
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4874 etc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4875
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4876 Also, recent versions of XFree86 define various AltGr-<key>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4877 combinations as dead keys, i.e.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4878 @example
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4879 AltGr [ => dead_diaeresis
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4880 AltGr ] => dead_tilde
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
4881 AltGr ; => dead_acute
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4882 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4883 etc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4884
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4885 Running @samp{xmodmap -pk} will list all of the defined keysyms.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4886 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4887
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 1058
diff changeset
4888 For the related problem of @emph{displaying} non-ASCII characters in a
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4889 non-Mule XEmacs, @xref{Q4.0.8, How do I display non-ASCII characters?}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4890
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4891 @node Q3.0.7, Q3.0.8, Q3.0.6, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4892 @unnumberedsubsec Q3.0.7: Can I turn on @dfn{sticky} modifier keys?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4893
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4894 Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4895 effect of being able to press and release Shift and have the next
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4896 character typed come out in upper case. This will affect all the other
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4897 modifier keys like Control and Meta as well.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4898
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4899 @email{ben@@xemacs.org, Ben Wing} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4900
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4901 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4902 One thing about the sticky modifiers is that if you move the mouse out
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4903 of the frame and back in, it cancels all currently ``stuck'' modifiers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4904 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4905
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4906 @node Q3.0.8, Q3.0.9, Q3.0.7, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4907 @unnumberedsubsec Q3.0.8: How do I map the arrow keys?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4908 @c New
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4909 Say you want to map @kbd{C-@key{right}} to forward-word:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4910
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4911 @email{sds@@usa.net, Sam Steingold} writes:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4912
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4913 @quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4914 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4915 ; both XEmacs and Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4916 (define-key global-map [(control right)] 'forward-word)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4917 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4918 or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4919 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4920 ; Emacs only
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4921 (define-key global-map [C-right] 'forward-word)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4922 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4923 or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4924 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4925 ; ver > 20, both
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4926 (define-key global-map (kbd "C-<right>") 'forward-word)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4927 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4928 @end quotation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4929
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4930 @node Q3.0.9, Q3.0.10, Q3.0.8, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4931 @unnumberedsubsec Q3.0.9: HP Alt key as Meta.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4932
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4933 How can I make XEmacs recognize the Alt key of my HP workstation as a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4934 Meta key?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4935
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4936 Put the following line into a file and load it with xmodmap(1) before
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4937 starting XEmacs:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4938
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4939 @example
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4940 remove Mod1 = Mode_switch
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4941 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4942
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4943 @node Q3.0.10, Q3.0.11, Q3.0.9, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4944 @unnumberedsubsec Q3.0.10: Why does edt emulation not work?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4945
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4946 We don't know, but you can use tpu-edt emulation instead, which works
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4947 fine and is a little fancier than the standard edt emulation. To do
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4948 this, add the following line to your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4949
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4950 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4951 (tpu-edt)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4952 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4953
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4954 If you don't want it to replace @kbd{C-h} with an edt-style help menu
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4955 add this as well:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4956
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4957 @lisp
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4958 (global-set-key [(control h)] 'help-for-help)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4959 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4960
4625
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4961 @node Q3.0.11, Q3.0.12, Q3.0.10, Editing
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
4962 @unnumberedsubsec Q3.0.11: How can I emulate VI and use it as my default mode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4963
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4964 Our recommended VI emulator is viper. To make viper-mode the default,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4965 add this to your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4966
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4967 @lisp
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4968 (viper-mode)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4969 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4970
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4971 @email{kifer@@CS.SunySB.EDU, Michael Kifer} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4972
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4973 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4974 This should be added as close to the top of @file{init.el} as you can get
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4975 it, otherwise some minor modes may not get viper-ized.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4976 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
4977
4625
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4978 @node Q3.0.12, Q3.1.1, Q3.0.11, Editing
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4979 @unnumberedsubsec Q3.0.12: Mac Alt/Option key as Meta.
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4980
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4981 Due to the Apple Command key being Meta, I can't use XEmacs on OS X.
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4982
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4983 Didier Verna suggests:
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4984
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4985 I use an X version of XEmacs on a Mac every day. You have to tweak the
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4986 keyboard configuration a bit but that's all.
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4987
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4988 Here's my Xmodmap file on Darwin:
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4989
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4990 @example
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4991 clear mod1
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4992 clear mod2
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4993 keycode 66 = Meta_L
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4994 keycode 63 = Mode_switch
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4995 add mod1 = Meta_L
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4996 @end example
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4997
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4998 This leaves the command key alone and uses alt/option for Meta.
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
4999
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
5000
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5001 @unnumberedsec 3.1: The Mouse
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5002
4625
4527fc976aa3 Meta on Mac. <87prh51rni.fsf@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4509
diff changeset
5003 @node Q3.1.1, Q3.1.2, Q3.0.12, Editing
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5004 @unnumberedsubsec Q3.1.1: How can I turn off Mouse pasting?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5005
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5006 I keep hitting the middle mouse button by accident and getting stuff
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5007 pasted into my buffer so how can I turn this off?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5008
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5009 Here is an alternative binding, whereby the middle mouse button selects
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5010 (but does not cut) the expression under the mouse. Clicking middle on a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5011 left or right paren will select to the matching one. Note that you can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5012 use @code{define-key} or @code{global-set-key}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5013
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5014 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5015 (defun mouse-set-point-and-select (event)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5016 "Sets the point at the mouse location, then marks following form"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5017 (interactive "@@e")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5018 (mouse-set-point event)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5019 (mark-sexp 1))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5020 (define-key global-map [button2] 'mouse-set-point-and-select)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5021 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5022
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5023 @node Q3.1.2, Q3.1.3, Q3.1.1, Editing
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5024 @unnumberedsubsec Q3.1.2: How do I set control/meta/etc modifiers on mouse buttons?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5025
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5026 Use, for instance, @code{[(meta button1)]}. For example, here is a common
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5027 setting for Common Lisp programmers who use the bundled @code{ilisp}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5028 package, whereby meta-button1 on a function name will find the file where
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5029 the function name was defined, and put you at that location in the source
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5030 file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5031
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5032 [Inside a function that gets called by the lisp-mode-hook and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5033 ilisp-mode-hook]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5034
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5035 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5036 (local-set-key [(meta button1)] 'edit-definitions-lisp)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5037 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5038
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5039 @node Q3.1.3, Q3.1.4, Q3.1.2, Editing
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5040 @unnumberedsubsec Q3.1.3: Clicking the left button does not do anything in buffer list.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5041
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5042 I do @kbd{C-x C-b} to get a list of buffers and the entries get
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5043 highlighted when I move the mouse over them but clicking the left mouse
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5044 does not do anything.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5045
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5046 Use the middle mouse button.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5047
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5048 @node Q3.1.4, Q3.1.5, Q3.1.3, Editing
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5049 @unnumberedsubsec Q3.1.4: How can I get a list of buffers when I hit mouse button 3?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5050
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5051 The following code will replace the default popup on button3:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5052
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5053 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5054 (global-set-key [button3] 'popup-buffer-menu)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5055 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5056
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5057 @node Q3.1.5, Q3.2.1, Q3.1.4, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5058 @unnumberedsubsec Q3.1.5: How can I set XEmacs up so that it pastes where the text cursor is?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5059
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5060 By default XEmacs pastes X selections where the mouse pointer is. How
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5061 do I disable this?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5062
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5063 Examine the function @code{mouse-yank}, by typing @kbd{C-h f mouse-yank
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5064 @key{RET}}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5065
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5066 To get XEmacs to paste at the text cursor, add this your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5067
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5068 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5069 (setq mouse-yank-at-point t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5070 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5071
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5072 You can also change this with Customize. Select from the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5073 @code{Options} menu @code{Advanced
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5074 (Customize)->Emacs->Editing->Mouse->Yank At Point...} or type @kbd{M-x
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5075 customize @key{RET} mouse @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5076
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5077 @unnumberedsec 3.2: Buffers, Text Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5078
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5079 @node Q3.2.1, Q3.2.2, Q3.1.5, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5080 @unnumberedsubsec Q3.2.1: Can I have the end of the buffer delimited in some way?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5081
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5082 Say, with: @samp{[END]}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5083
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5084 Try this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5085
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5086 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5087 (let ((ext (make-extent (point-min) (point-max))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5088 (set-extent-property ext 'start-closed t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5089 (set-extent-property ext 'end-closed t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5090 (set-extent-property ext 'detachable nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5091 (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5092 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5093
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5094 Since this is XEmacs, you can specify an icon to be shown on
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5095 window-system devices. To do so, change the @code{make-glyph} call to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5096 something like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5097
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5098 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5099 (make-glyph '([xpm :file "~/something.xpm"]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5100 [string :data "[END]"]))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5101 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5102
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5103 You can inline the @sc{xpm} definition yourself by specifying
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5104 @code{:data} instead of @code{:file}. Here is such a full-featured
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5105 version that works on both X and TTY devices:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5106
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5107 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5108 (let ((ext (make-extent (point-min) (point-max))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5109 (set-extent-property ext 'start-closed t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5110 (set-extent-property ext 'end-closed t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5111 (set-extent-property ext 'detachable nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5112 (set-extent-end-glyph ext (make-glyph '([xpm :data "\
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5113 /* XPM */
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5114 static char* eye = @{
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5115 \"20 11 7 2\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5116 \"__ c None\"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5117 \"_` c #7f7f7f\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5118 \"_a c #fefefe\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5119 \"_b c #7f0000\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5120 \"_c c #fefe00\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5121 \"_d c #fe0000\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5122 \"_e c #bfbfbf\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5123 \"___________`_`_`___b_b_b_b_________`____\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5124 \"_________`_`_`___b_c_c_c_b_b____________\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5125 \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5126 \"___`_`_e_a___b_b_d___b___b___b___b______\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5127 \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5128 \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5129 \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5130 \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5131 \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5132 \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5133 \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5134 @} ;"]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5135 [string :data "[END]"]))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5136 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5137
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5138 Note that you might want to make this a function, and put it to a hook.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5139 We leave that as an exercise for the reader.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5140
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5141 @node Q3.2.2, Q3.2.3, Q3.2.1, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5142 @unnumberedsubsec Q3.2.2: How do I insert today's date into a buffer?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5143
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5144 Like this:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5145
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5146 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5147 (insert (current-time-string))
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5148 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5149
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5150 @node Q3.2.3, Q3.2.4, Q3.2.2, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5151 @unnumberedsubsec Q3.2.3: How do I get a single minibuffer frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5152
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5153 @email{acs@@acm.org, Vin Shelton} writes:
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5154
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5155 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5156 (setq initial-frame-plist '(minibuffer nil))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5157 (setq default-frame-plist '(minibuffer nil))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5158 (setq default-minibuffer-frame
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5159 (make-frame
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5160 '(minibuffer only
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5161 width 86
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5162 height 1
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5163 menubar-visible-p nil
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5164 default-toolbar-visible-p nil
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5165 name "minibuffer"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5166 top -2
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5167 left -2
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5168 has-modeline-p nil)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5169 (frame-notice-user-settings)
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5170 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5171
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5172 @strong{Please note:} The single minibuffer frame may not be to everyone's
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5173 taste, and there any number of other XEmacs options settings that may
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5174 make it difficult or inconvenient to use.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5175
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5176 @node Q3.2.4, Q3.2.5, Q3.2.3, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5177 @unnumberedsubsec Q3.2.4: How can I enable auto-indent and/or Filladapt?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5178
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5179 Put the following line in your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5180
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5181 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5182 (setq indent-line-function 'indent-relative-maybe)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5183 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5184
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5185 If you want to get fancy, try the @code{filladapt} package available
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5186 standard with XEmacs. Put this into your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5187
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5188 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5189 (require 'filladapt)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5190 (setq-default filladapt-mode t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5191 (add-hook 'c-mode-hook 'turn-off-filladapt-mode)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5192 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5193
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5194 This will enable Filladapt for all modes except C mode, where it doesn't
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5195 work well. To turn Filladapt on only in particular major modes, remove
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5196 the @code{(setq-default ...)} line and use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5197 @code{turn-on-filladapt-mode}, like this:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5198
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5199 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5200 (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5201 @end lisp
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5202
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5203 You can customize filling and adaptive filling with Customize.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5204 Select from the @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5205 @code{Advanced (Customize)->Emacs->Editing->Fill->Fill...}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5206 or type @kbd{M-x customize @key{RET} fill @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5207
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5208 Note that well-behaving text-lookalike modes will run
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5209 @code{text-mode-hook} by default (e.g. that's what Message does). For
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5210 the nasty ones, you'll have to provide the @code{add-hook}s yourself.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5211
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5212 Please note that the @code{fa-extras} package is no longer useful.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5213
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5214 @node Q3.2.5, Q3.3.1, Q3.2.4, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5215 @unnumberedsubsec Q3.2.5: How can I get XEmacs to come up in text/auto-fill mode by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5216
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5217 Try the following lisp in your @file{init.el}:
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5218
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5219 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5220 (setq default-major-mode 'text-mode)
2769
640e02d61e7f [xemacs-hg @ 2005-05-10 17:56:14 by aidan]
aidan
parents: 2559
diff changeset
5221 (add-hook 'text-mode-hook 'turn-on-auto-fill)
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5222 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5223
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5224 @strong{WARNING}: note that changing the value of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5225 @code{default-major-mode} from @code{fundamental-mode} can break a large
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5226 amount of built-in code that expects newly created buffers to be in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5227 @code{fundamental-mode}. (Changing from @code{fundamental-mode} to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5228 @code{text-mode} might not wreak too much havoc, but changing to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5229 something more exotic like a lisp-mode would break many Emacs packages).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5230
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5231 Note that Emacs by default starts up in buffer @code{*scratch*} in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5232 @code{initial-major-mode}, which defaults to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5233 @code{lisp-interaction-mode}. Thus adding the following form to your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5234 Emacs init file will cause the initial @code{*scratch*} buffer to be put
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5235 into auto-fill'ed @code{text-mode}:
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5236
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5237 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5238 (setq initial-major-mode
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5239 (lambda ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5240 (text-mode)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5241 (turn-on-auto-fill)))
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5242 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5243
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5244 Note that after your init file is loaded, if
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5245 @code{inhibit-startup-message} is @code{nil} (the default) and the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5246 startup buffer is @code{*scratch*} then the startup message will be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5247 inserted into @code{*scratch*}; it will be removed after a timeout by
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5248 erasing the entire @code{*scratch*} buffer. Keep in mind this default
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5249 usage of @code{*scratch*} if you desire any prior manipulation of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5250 @code{*scratch*} from within your Emacs init file. In particular,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5251 anything you insert into @code{*scratch*} from your init file will be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5252 later erased. Also, if you change the mode of the @code{*scratch*}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5253 buffer, be sure that this will not interfere with possible later
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5254 insertion of the startup message (e.g. if you put @code{*scratch*} into
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5255 a nonstandard mode that has automatic font lock rules, then the startup
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5256 message might get fontified in a strange foreign manner, e.g. as code in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5257 some programming language).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5258
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5259 @unnumberedsec 3.3: Text Selections
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5260
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5261 @node Q3.3.1, Q3.3.2, Q3.2.5, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5262 @unnumberedsubsec Q3.3.1: How do I select a rectangular region?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5263
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5264 Just select the region normally, then use the rectangle commands (e.g.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5265 @code{kill-rectangle} on it. The region does not highlight as a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5266 rectangle, but the commands work just fine.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5267
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5268 To actually sweep out rectangular regions with the mouse you can use
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5269 @code{mouse-track-do-rectangle} which is assigned to @kbd{M-button1}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5270 Then use rectangle commands.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5271
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5272 You can also do the following to change default behavior to sweep out
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5273 rectangular regions:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5274
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5275 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5276 (setq mouse-track-rectangle-p t)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5277 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5278
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5279 You can also change this with Customize.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5280 Select from the @code{Options} menu
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5281 @code{Advanced (Customize)->Emacs->Editing->Mouse->Track Rectangle...} or type
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5282 @kbd{M-x customize @key{RET} mouse @key{RET}}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5283
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5284
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5285 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5286 mouse-track-do-rectangle: (event)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5287 -- an interactive compiled Lisp function.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5288 Like `mouse-track' but selects rectangles instead of regions.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5289 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5290
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5291 @node Q3.3.2, Q3.3.3, Q3.3.1, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5292 @unnumberedsubsec Q3.3.2: How can I turn off or change highlighted selections?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5293
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5294 The @code{zmacs} mode allows for what some might call gratuitous
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5295 highlighting for selected regions (either by setting mark or by using
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5296 the mouse). This is the default behavior. To turn off, add the
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5297 following line to your @file{init.el} file:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5298
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5299 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5300 (setq zmacs-regions nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5301 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5302
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5303 You can also change this with Customize. Select from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5304 @code{Options} menu
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5305 @code{Advanced (Customize)->Emacs->Editing->Basics->Zmacs Regions}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5306 or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5307
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5308 To change the face for selection, look at @code{Options->Advanced (Customize)}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5309 on the menubar.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5310
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5311 @node Q3.3.3, Q3.3.4, Q3.3.2, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5312 @unnumberedsubsec Q3.3.3: How do I cause typing on an active region to remove it?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5314 I want to change things so that if I select some text and start typing,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5315 the typed text replaces the selected text, similar to Motif.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5316
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5317 You want to use something called @dfn{pending delete}. Pending delete
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5318 is what happens when you select a region (with the mouse or keyboard)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5319 and you press a key to replace the selected region by the key you typed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5320 Usually backspace kills the selected region.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5321
2164
e0dc83407d58 [xemacs-hg @ 2004-07-05 10:42:30 by stephent]
stephent
parents: 1987
diff changeset
5322 To get this behavior, ensure that you have the @file{pc} package
e0dc83407d58 [xemacs-hg @ 2004-07-05 10:42:30 by stephent]
stephent
parents: 1987
diff changeset
5323 installed, and add the following lines to your
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5324 @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5325
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5326 @lisp
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5327 (cond
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5328 ((fboundp 'turn-on-pending-delete)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5329 (turn-on-pending-delete))
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5330 ((fboundp 'pending-delete-on)
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5331 (pending-delete-on t)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5332 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5333
1138
05ed51332340 [xemacs-hg @ 2002-12-03 11:01:40 by didierv]
didierv
parents: 1135
diff changeset
5334 Note that this will work with both Backspace and Delete. This code is a
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5335 tad more complicated than it has to be for XEmacs in order to make it
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
5336 more portable.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5337
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5338 @node Q3.3.4, Q3.3.5, Q3.3.3, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5339 @unnumberedsubsec Q3.3.4: Can I turn off the highlight during isearch?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5340
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5341 I do not like my text highlighted while I am doing isearch as I am not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5342 able to see what's underneath. How do I turn it off?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5343
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5344 Put the following in your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5345
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5346 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5347 (setq isearch-highlight nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5348 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5349
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5350 You can also change this with Customize. Type
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5351 @kbd{M-x customize-variable @key{RET} isearch-highlight @key{RET}}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5352
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5353 Note also that isearch-highlight affects query-replace and ispell.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5354 Instead of disabling isearch-highlight you may find that a better
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5355 solution consists of customizing the @code{isearch} face.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5356
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5357 @node Q3.3.5, Q3.3.6, Q3.3.4, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5358 @unnumberedsubsec Q3.3.5: Why is killing so slow?
892
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5359
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5360 This actually is an X Windows question, although you'll notice it with
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5361 keyboard operations as well as while using the GUI. Basically, there
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5362 are four ways to communicate interprogram via the X server:
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5363
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5364 @table @strong
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5365 @item Primary selection
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5366 a transient selection that gets replaced every time a new selection is made
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5367
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5368 @item Secondary selection
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5369 for "exchanging" with the primary selection
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5370
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5371 @item Cut buffers
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5372 a clipboard internal to the X server (deprecated)
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5373
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5374 @item Clipboard selection
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5375 a selection with a notification protocol that allows a separate app to
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5376 manage the clipboard
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5377 @end table
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5378
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5379 The cut buffers are deprecated because managing them is even more
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5380 inefficient than the clipboard notification protocol. The primary
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5381 selection works fine for many users and applications, but is not very
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5382 robust under intensive or sophisticated use.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5383
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5384 In Motif and MS Windows, a clipboard has become the primary means for
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5385 managing cut and paste. These means that "modern" applications tend to
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5386 be oriented toward a true clipboard, rather than the primary selection.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5387 (On Windows, there is nothing equivalent to the primary selection.)
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5388 It's not that XEmacs doesn't support the simple primary selection
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5389 method, it's that more and more other applications don't.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5390
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5391 So the slowdown occurs because XEmacs now engages in the clipboard
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5392 notification protocol on @emph{every} kill. This is especially slow on
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5393 Motif.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5394
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5395 With most people running most clients and server on the same host, and
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5396 many of the rest working over very fast communication, you may expect
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5397 that the situation is not going to improve.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5398
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5399 There are a number of workarounds. The most effective is to use a
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5400 special command to do selection ownership only when you intend to paste
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5401 to another application. Useful commands are @code{kill-primary-selection}
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5402 and @code{copy-primary-selection}. These work only on text selected
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5403 with the mouse (probably; experiment), and are bound by default to the
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5404 @kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5405 @code{copy-primary-selection} is also bound to @kbd{C-Insert}. You can
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5406 yank the clipboard contents with @code{yank-primary-selection}, bound to
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5407 the @kbd{Paste} toolbar button and @kbd{Sh-Insert}.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5408
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5409 If you are communicating by cut and paste with applications that use the
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5410 primary selection, then you can customize
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5411 @code{interprogram-cut-function} to @code{nil}, restoring the XEmacs
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5412 version 20 behavior. How can you tell if a program will support this?
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5413 Motifly-correct programs require the clipboard; you lose. For others,
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5414 only by trying it. You also need to customize the complementary
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5415 @code{interprogram-paste-function} to @code{nil}. (Otherwise
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5416 XEmacs-to-XEmacs pastes will not work correctly.)
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5417
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5418 You may get some relief on Motif by setting
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5419 @code{x-selection-strict-motif-ownership} to nil, but this means you will
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5420 only intermittently be able to paste XEmacs kills to Motif applications.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5421
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5422 Thanks to Jeff Mincy and Glynn Clements for corrections.
52c2a7139db0 [xemacs-hg @ 2002-07-02 12:27:53 by stephent]
stephent
parents: 871
diff changeset
5423
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5424 @node Q3.3.6, Q3.4.1, Q3.3.5, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5425 @unnumberedsubsec Q3.3.6: Why does @kbd{M-w} take so long?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5426
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5427 It actually doesn't. It leaves the region visible for a second so that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5428 you can see what area is being yanked. If you start working, though, it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5429 will immediately complete its operation. In other words, it will only
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5430 delay for a second if you let it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5431
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5432 @unnumberedsec 3.4: Editing Source Code
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5433
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5434 @node Q3.4.1, Q3.4.2, Q3.3.6, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5435 @unnumberedsubsec Q3.4.1: I do not like cc-mode. How do I use the old c-mode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5436
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5437 Well, first off, consider if you really want to do this. cc-mode is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5438 much more powerful than the old c-mode. If you're having trouble
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5439 getting your old offsets to work, try using @code{c-set-offset} instead.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5440 You might also consider using the package @code{cc-compat}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5441
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5442 But, if you still insist, add the following lines to your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5443
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5444 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5445 (fmakunbound 'c-mode)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5446 (makunbound 'c-mode-map)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5447 (fmakunbound 'c++-mode)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5448 (makunbound 'c++-mode-map)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5449 (makunbound 'c-style-alist)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5450 (load-library "old-c-mode")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5451 (load-library "old-c++-mode")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5452 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5453
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5454 This must be done before any other reference is made to either c-mode or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5455 c++-mode.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5456
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5457 @node Q3.4.2, , Q3.4.1, Editing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5458 @unnumberedsubsec Q3.4.2: How do you make XEmacs indent CL if-clauses correctly?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5459
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5460 I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5461 same amount instead of indenting the 3rd clause differently from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5462 first two.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5463
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5464 The package @code{cl-indent} that comes with XEmacs sets up this kind
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5465 of indentation by default. @code{cl-indent} also knows about many
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5466 other CL-specific forms. To use @code{cl-indent}, one can do this:
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5467
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5468 @lisp
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5469 (setq lisp-indent-function 'common-lisp-indent-function)
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5470 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5471
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5472 One can also customize @file{cl-indent.el} so it mimics the default
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5473 @code{if} indentation @code{then} indented more than the @code{else}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5474 Here's how:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5475
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5476 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5477 (put 'if 'common-lisp-indent-function '(nil nil &body))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5478 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
5479
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5480 @node Display, External Subsystems, Editing, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5481 @unnumbered 4 Display Functions
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5482
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5483 This is part 4 of the XEmacs Frequently Asked Questions list. This
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5484 section is devoted to the display-related capabilities of XEmacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5485 (fonts, colors, modeline, menubar, toolbar, scrollbar, etc.) and how
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5486 to customize them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5487
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5488 @menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5489 4.0: Textual Fonts and Colors
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5490 * Q4.0.1:: How do I specify a font?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5491 * Q4.0.2:: How do I set the text, menu and modeline fonts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5492 * Q4.0.3:: How can I set color options from @file{init.el}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5493 * Q4.0.4:: How can I set the colors when highlighting a region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5494 * Q4.0.5:: How can I limit color map usage?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5495 * Q4.0.6:: My tty supports color, but XEmacs doesn't use them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5496 * Q4.0.7:: Can I have pixmap backgrounds in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5497 * Q4.0.8:: How do I display non-ASCII characters?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5498 * Q4.0.9:: Font selections in don't get saved after @code{Save Options}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5499
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5500 4.1: Syntax Highlighting (Font Lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5501 * Q4.1.1:: How can I do source code highlighting using font-lock?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5502 * Q4.1.2:: How do I get @samp{More} Syntax Highlighting on by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5503
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5504 4.2: The Modeline
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5505 * Q4.2.1:: How can I make the modeline go away?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5506 * Q4.2.2:: How do you have XEmacs display the line number in the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5507 * Q4.2.3:: How do I get XEmacs to put the time of day on the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5508 * Q4.2.4:: How can I change the modeline color based on the mode used?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5509
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5510 4.3: The Cursor
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5511 * Q4.3.1:: Is there a way to make the bar cursor thicker?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5512 * Q4.3.2:: Is there a way to get back the block cursor?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5513 * Q4.3.3:: Can I make the cursor blink?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5514
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5515 4.4: The Menubar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5516 * Q4.4.1:: How do I get rid of the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5517 * Q4.4.2:: How can I customize the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5518 * Q4.4.3:: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5519 * Q4.4.4:: How do I control how many buffers are listed in the menu @code{Buffers List}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5520 * Q4.4.5:: Resources like @code{Emacs*menubar*font} are not working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5521
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5522 4.5: The Toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5523 * Q4.5.1:: How do I get rid of the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5524 * Q4.5.2:: How can I customize the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5525 * Q4.5.3:: How can I bind a key to a function to toggle the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5526 * Q4.5.4:: @samp{Can't instantiate image error...} in toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5527
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5528 4.6: Scrollbars and Scrolling
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5529 * Q4.6.1:: How can I disable the scrollbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5530 * Q4.6.2:: How can I change the scrollbar width?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5531 * Q4.6.3:: How can I use resources to change scrollbar colors?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5532 * Q4.6.4:: Moving the scrollbar can move the point; can I disable this?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5533 * Q4.6.5:: Scrolling one line at a time.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5534 * Q4.6.6:: How can I turn off automatic horizontal scrolling in specific modes?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5535 * Q4.6.7:: I find auto-show-mode disconcerting. How do I turn it off?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5536
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5537 4.7: The Gutter Tabs, The Progress Bar, Widgets
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5538 * Q4.7.1:: How can I disable the gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5539 * Q4.7.2:: How can I disable the progress bar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5540 * Q4.7.3:: There are bugs in the gutter or widgets.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5541 * Q4.7.4:: How can I customize the gutter or gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5542 @end menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5543
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5544 @unnumberedsec 4.0: Textual Fonts and Colors
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5545
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5546 @node Q4.0.1, Q4.0.2, Display, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5547 @unnumberedsubsec Q4.0.1: How do I specify a font?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5548
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5549 #### Update me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5550
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5551 In 21.4 and above, you can use the @samp{Options} menu to change the font.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5552 You can also do it in your init file, e.g. like this (for MS Windows):
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5553
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5554 @display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5555 (set-face-font 'default "Lucida Console:Regular:10")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5556 (set-face-font 'modeline "MS Sans Serif:Regular:10")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5557 @end display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5558
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5559 @node Q4.0.2, Q4.0.3, Q4.0.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5560 @unnumberedsubsec Q4.0.2: How do I set the text, menu and modeline fonts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5561
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5562 #### Update me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5563
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5564 Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5565 setting face values.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5566
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5567 In @file{.Xresources}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5568
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5569 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5570 Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5571 Emacs*menubar*font: fixed
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5572 Emacs.modeline.attributeFont: fixed
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5573 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5574
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5575 This is confusing because @samp{default} and @samp{modeline} are face
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5576 names, and can be found listed with all faces in the current mode by
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5577 using @kbd{M-x set-face-font (enter) ?}. They use the face-specific
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5578 resource @samp{attributeFont}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5579
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5580 On the other hand, @samp{menubar} is a normal X thing that uses the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5581 resource @samp{font}. With Motif it @emph{may be} necessary to use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5582 @samp{fontList} @emph{instead of} @samp{font}. In @emph{non-Motif}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5583 configurations with Mule it @emph{is} necessary to use @samp{fontSet}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5584 instead of @samp{font}. (Sorry, there just is no simple recipe here.)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5585
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5586 @node Q4.0.3, Q4.0.4, Q4.0.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5587 @unnumberedsubsec Q4.0.3: How can I set color options from @file{init.el}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5588
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5589 How can I set the most commonly used color options from my
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5590 @file{init.el} instead of from my @file{.Xresources}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5591
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5592 Like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5593
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5594 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5595 (set-face-background 'default "bisque") ; frame background
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5596 (set-face-foreground 'default "black") ; normal text
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5597 (set-face-background 'zmacs-region "red") ; When selecting w/
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5598 ; mouse
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5599 (set-face-foreground 'zmacs-region "yellow")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5600 (set-face-font 'default "*courier-bold-r*120-100-100*")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5601 (set-face-background 'highlight "blue") ; Ie when selecting
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5602 ; buffers
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5603 (set-face-foreground 'highlight "yellow")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5604 (set-face-background 'modeline "blue") ; Line at bottom
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5605 ; of buffer
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5606 (set-face-foreground 'modeline "white")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5607 (set-face-font 'modeline "*bold-r-normal*140-100-100*")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5608 (set-face-background 'isearch "yellow") ; When highlighting
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5609 ; while searching
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5610 (set-face-foreground 'isearch "red")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5611 (setq x-pointer-foreground-color "black") ; Adds to bg color,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5612 ; so keep black
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5613 (setq x-pointer-background-color "blue") ; This is color
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5614 ; you really
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5615 ; want ptr/crsr
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5616 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5617
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5618 @node Q4.0.4, Q4.0.5, Q4.0.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5619 @unnumberedsubsec Q4.0.4: How can I set the colors when highlighting a region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5620
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5621 How can I set the background/foreground colors when highlighting a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5622 region?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5623
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5624 You can change the face @code{zmacs-region} either in your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5625 @file{.Xresources}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5626
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5627 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5628 Emacs.zmacs-region.attributeForeground: firebrick
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5629 Emacs.zmacs-region.attributeBackground: lightseagreen
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5630 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5631
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5632 or in your @file{init.el}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5633
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5634 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5635 (set-face-background 'zmacs-region "red")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5636 (set-face-foreground 'zmacs-region "yellow")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5637 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5638
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5639 @node Q4.0.5, Q4.0.6, Q4.0.4, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5640 @unnumberedsubsec Q4.0.5: How can I limit color map usage?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5641
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5642 I'm using Netscape (or another color grabber like XEmacs);
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5643 is there any way to limit the number of available colors in the color map?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5644
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5645 Answer: No, but you can start Netscape before XEmacs, and it will use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5646 the closest available color if the colormap is full. You can also limit
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5647 the number of colors Netscape uses, using the flags -mono, -ncols <#> or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5648 -install (for mono, limiting to <#> colors, or for using a private color
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5649 map).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5650
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5651 If you have the money, another solution would be to use a truecolor or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5652 direct color video.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5653
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5654 @node Q4.0.6, Q4.0.7, Q4.0.5, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5655 @unnumberedsubsec Q4.0.6: My tty supports color, but XEmacs doesn't use them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5656
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5657 XEmacs tries to automatically determine whether your tty supports color,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5658 but sometimes guesses wrong. In that case, you can make XEmacs Do The
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5659 Right Thing using this Lisp code:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5660
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5661 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5662 (if (eq 'tty (device-type))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5663 (set-device-class nil 'color))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5664 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5665
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5666 @node Q4.0.7, Q4.0.8, Q4.0.6, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5667 @unnumberedsubsec Q4.0.7: Can I have pixmap backgrounds in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5668 @c New
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5669 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5670
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5671 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5672 There are several ways to do it. For example, you could specify a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5673 default pixmap image to use in your @file{~/.Xresources}, e.g.,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5674
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5675
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5676 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5677 Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5678 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5679
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5680
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5681 and then reload ~/.Xresources and restart XEmacs. Alternatively,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5682 since each face can have its own pixmap background, a better way
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5683 would be to set a face's pixmap within your XEmacs init file, e.g.,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5684
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5685 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5686 (set-face-background-pixmap 'default "/path/to/image.xpm")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5687 (set-face-background-pixmap 'bold "/path/to/another_image.xpm")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5688 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5689
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5690 and so on. You can also do this interactively via @kbd{M-x edit-faces}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5691
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5692 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5693
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5694 @node Q4.0.8, Q4.0.9, Q4.0.7, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5695 @unnumberedsubsec Q4.0.8: How do I display non-ASCII characters?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5696 @c New
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5697
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5698 If you're using a Mule-enabled XEmacs, then display is automatic. If
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5699 you're not seeing the characters you expect, either (1) you don't have
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5700 appropriate fonts available or (2) XEmacs did not correctly detect the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5701 coding system (@pxref{Recognize Coding, , , xemacs}). In case (1),
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5702 install fonts as is customary for your platform. In case (2), you
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5703 need to tell XEmacs explicitly what coding systems you're using.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5704 @ref{Specify Coding, , , xemacs}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5705
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5706 If your XEmacs is not Mule-enabled, and for some reason getting a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5707 Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5708 You can arrange it by brute force. In @file{event-Xt.c} (suppress the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5709 urge to look in this file---play Doom instead, because you'll survive
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5710 longer), it is written:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5711
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5712 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5713 In a non-Mule world, a user can still have a multi-lingual editor, by
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5714 doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5715 their Latin-2 buffers, etc.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5716 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5717
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5718 For the related problem of @emph{inputting} non-ASCII characters in a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5719 non-Mule XEmacs, @xref{Q3.0.6, How can you type in special characters
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5720 in XEmacs?}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5721
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5722 @node Q4.0.9, Q4.1.1, Q4.0.8, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5723 @unnumberedsubsec Q4.0.9: Font selections in don't get saved after @code{Save Options}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5724
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5725 @email{mannj@@ll.mit.edu, John Mann} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5726
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5727 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5728 You have to go to @samp{Options->Menubars} and unselect
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5729 @samp{Frame-Local Font Menu}. If this option is selected, font changes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5730 are only applied to the @emph{current} frame and do @emph{not} get saved
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5731 when you save options.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5732 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5733
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5734 Also, set the following in your @file{init.el}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5735
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5736 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5737 (setq options-save-faces t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5738 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5739
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5740 @unnumberedsec 4.1: Syntax Highlighting (Font Lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5741
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5742 @node Q4.1.1, Q4.1.2, Q4.0.9, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5743 @unnumberedsubsec Q4.1.1: How can I do source code highlighting using font-lock?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5744
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5745 For most modes, font-lock is already set up and just needs to be turned
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5746 on. This can be done by adding the line:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5747
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5748 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5749 (require 'font-lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5750 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5751
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5752 to your @file{init.el}. (You can turn it on for the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5753 current buffer and session only by @kbd{M-x font-lock-mode}.) See the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5754 file @file{etc/sample.init.el} (@file{etc/sample.emacs} in XEmacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5755 versions prior to 21.4) for more information.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5756
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5757 @c the old way:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5758 @c (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5759 @c (add-hook 'dired-mode-hook 'turn-on-font-lock)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5760
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5761 See also @code{Syntax Highlighting} from the @code{Options} menu.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5762 Remember to save options.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5763
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5764 @node Q4.1.2, Q4.2.1, Q4.1.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5765 @unnumberedsubsec Q4.1.2: How do I get @samp{More} Syntax Highlighting on by default?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5766
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5767 Use the following code in your @file{init.el}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5768
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5769 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5770 (setq-default font-lock-maximum-decoration t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5771 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5772
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5773 See also @code{Syntax Highlighting} from the @code{Options} menu.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5774 Remember to save options.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5775
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5776 @unnumberedsec 4.2: The Modeline
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5777
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5778 @node Q4.2.1, Q4.2.2, Q4.1.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5779 @unnumberedsubsec Q4.2.1: How can I make the modeline go away?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5780
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5781 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5782 (set-specifier has-modeline-p nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5783 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5784
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5785 @node Q4.2.2, Q4.2.3, Q4.2.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5786 @unnumberedsubsec Q4.2.2: How do you have XEmacs display the line number in the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5787
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5788 Add the following line to your @file{init.el} file to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5789 display the line number:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5790
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5791 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5792 (line-number-mode 1)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5793 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5794
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5795 Use the following to display the column number:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5796
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5797 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5798 (column-number-mode 1)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5799 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5800
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5801 Or select from the @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5802 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5803 @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5804 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5805 @code{Advanced (Customize)->Emacs->Editing->Basics->Line Number Mode}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5806 and/or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5807 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5808 @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5809 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5810 @code{Advanced (Customize)->Emacs->Editing->Basics->Column Number Mode}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5811
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5812 Or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5813
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5814 @node Q4.2.3, Q4.2.4, Q4.2.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5815 @unnumberedsubsec Q4.2.3: How do I get XEmacs to put the time of day on the modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5816
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5817 Add the following line to your @file{init.el} file to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5818 display the time:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5819
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5820 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5821 (display-time)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5822 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5823
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5824 See @code{Customize} from the @code{Options} menu for customization.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5825
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5826 @node Q4.2.4, Q4.3.1, Q4.2.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5827 @unnumberedsubsec Q4.2.4: How can I change the modeline color based on the mode used?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5828
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5829 You can use something like the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5830
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5831 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5832 (add-hook 'lisp-mode-hook
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5833 (lambda ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5834 (set-face-background 'modeline "red" (current-buffer))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5835 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5836
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5837 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5838 colors change from the default set in your @file{init.el}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5839 The change will only be made in the buffer you just entered (which
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5840 contains the Lisp file you are editing) and will not affect the modeline
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5841 colors anywhere else.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5842
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5843 Notes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5844
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5845 @itemize @bullet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5846
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5847 @item The hook is the mode name plus @code{-hook}. eg. c-mode-hook,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5848 c++-mode-hook, emacs-lisp-mode-hook (used for your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5849 @file{init.el} or a @file{xx.el} file),
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5850 lisp-interaction-mode-hook (the @samp{*scratch*} buffer),
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5851 text-mode-hook, etc.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5852
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5853 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5854 Be sure to use @code{add-hook}, not @code{(setq c-mode-hook xxxx)},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5855 otherwise you will erase anything that anybody has already put on the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5856 hook.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5857
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5858 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5859 You can also do @code{(set-face-font 'modeline @var{font})},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5860 eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5861 (current-buffer))} if you wish the modeline font to vary based on the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5862 current mode.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5863 @end itemize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5864
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5865 There are additional modeline faces, @code{modeline-buffer-id},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5866 @code{modeline-mousable}, and @code{modeline-mousable-minor-mode}, which
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5867 you may want to customize.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5868
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5869 @unnumberedsec 4.3: The Cursor
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5870
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5871 @node Q4.3.1, Q4.3.2, Q4.2.4, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5872 @unnumberedsubsec Q4.3.1: Is there a way to make the bar cursor thicker?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5873
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5874 I'd like to have the bar cursor a little thicker, as I tend to "lose" it
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5875 often.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5876
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5877 For a 1 pixel bar cursor, use:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5878
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5879 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5880 (setq bar-cursor t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5881 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5882
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5883 For a 2 pixel bar cursor, use:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5884
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5885 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5886 (setq bar-cursor 'anything-else)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5887 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5888
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5889 You can also change these with Customize.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5890 Select from the @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5891 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5892 @kbd{M-x customize @key{RET} display @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5893
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5894 You can use a color to make it stand out better:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5895
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5896 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5897 Emacs*cursorColor: Red
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5898 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5899
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5900 @node Q4.3.2, Q4.3.3, Q4.3.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5901 @unnumberedsubsec Q4.3.2: Is there a way to get back the block cursor?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5902
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5903 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5904 (setq bar-cursor nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5905 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5906
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5907 You can also change this with Customize.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5908 Select from the @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5909 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5910 @kbd{M-x customize @key{RET} display @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5911
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5912 @node Q4.3.3, Q4.4.1, Q4.3.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5913 @unnumberedsubsec Q4.3.3: Can I make the cursor blink?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5914
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5915 Yes, like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5916
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5917 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5918 (blink-cursor-mode)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5919 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5920
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5921 This function toggles between a steady cursor and a blinking cursor.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5922 You may also set this mode from the menu bar by selecting
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5923 @samp{Options->Display->Blinking Cursor}. Remember to save options.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5924
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5925 @unnumberedsec 4.4: The Menubar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5926
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5927 @node Q4.4.1, Q4.4.2, Q4.3.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5928 @unnumberedsubsec Q4.4.1: How do I get rid of the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5929
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5930 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5931 (set-specifier menubar-visible-p nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5932 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5933
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5934 @node Q4.4.2, Q4.4.3, Q4.4.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5935 @unnumberedsubsec Q4.4.2: How can I customize the menubar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5936
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5937 For an extensive menubar, add this line to your @file{init.el}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5938
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5939 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5940 (load "big-menubar")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5941 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5942
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5943 If you'd like to write your own, this file provides as good a set of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5944 examples as any to start from. The file is located in edit-utils
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5945 package.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5946
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5947 @node Q4.4.3, Q4.4.4, Q4.4.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5948 @unnumberedsubsec Q4.4.3: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5949
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5950 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5951
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5952 @node Q4.4.4, Q4.4.5, Q4.4.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5953 @unnumberedsubsec Q4.4.4: How do I control how many buffers are listed in the menu @code{Buffers List}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5954
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5955 Add the following to your @file{init.el} (suit to fit):
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5956
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5957 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5958 (setq buffers-menu-max-size 20)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5959 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5960
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5961 For no limit, use an argument of @samp{nil}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5962
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5963 You can also change this with Customize. Select from the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5964 @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5965 @code{Advanced (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5966 or type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5967
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5968 @node Q4.4.5, Q4.5.1, Q4.4.4, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5969 @unnumberedsubsec Q4.4.5: Resources like @code{Emacs*menubar*font} are not working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5970
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5971 I am trying to use a resource like @code{Emacs*menubar*font} to set the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5972 font of the menubar but it's not working.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5973
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5974 In Motif, the use of @samp{font} resources is obsoleted in order to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5975 support internationalization. If you are using the real Motif menubar,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5976 this resource is not recognized at all; you have to say:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5977
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5978 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5979 Emacs*menubar*fontList: FONT
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5980 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5981
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5982 If you are using the Lucid menubar, for backward compatibility with
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5983 existing user configurations, the @samp{font} resource is recognized.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5984 Since this is not supported by Motif itself, the code is a kludge and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5985 the @samp{font} resource will be recognized only if the @samp{fontList}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5986 resource resource is unset. This means that the resource
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5987
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5988 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5989 *fontList: FONT
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5990 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5991
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5992 will override
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5993
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5994 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5995 Emacs*menubar*font: FONT
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5996 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5997
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5998 even though the latter is more specific.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
5999
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6000 In non-Motif configurations using @samp{--with-mule} and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6001 @samp{--with-xfs} it @emph{is} necessary to use the @code{fontSet}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6002 resource @emph{instead of} the @code{font} resource. The backward
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6003 compatibility kludge was never implemented for non-Motif builds.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6004 Example:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6005
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6006 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6007 *fontSet: FONT
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6008 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6009
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6010 @unnumberedsec 4.5: The Toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6011
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6012 @node Q4.5.1, Q4.5.2, Q4.4.5, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6013 @unnumberedsubsec Q4.5.1: How do I get rid of the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6014
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6015 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6016
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6017 @node Q4.5.2, Q4.5.3, Q4.5.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6018 @unnumberedsubsec Q4.5.2: How can I customize the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6019
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6020 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6021
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6022 @node Q4.5.3, Q4.5.4, Q4.5.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6023 @unnumberedsubsec Q4.5.3: How can I bind a key to a function to toggle the toolbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6024
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6025 Try something like:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6026
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6027 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6028 (defun my-toggle-toolbar ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6029 (interactive)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6030 (set-specifier default-toolbar-visible-p
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6031 (not (specifier-instance default-toolbar-visible-p))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6032 (global-set-key "\C-xT" 'my-toggle-toolbar)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6033 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6034
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6035 @ignore
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6036 @c Probably not relevant any more
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6037 There are redisplay bugs in 19.14 that may make the preceding result in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6038 a messed-up display, especially for frames with multiple windows. You
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6039 may need to resize the frame before XEmacs completely realizes the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6040 toolbar is really gone.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6041 @end ignore
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6042
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6043 Thanks to @email{martin@@xemacs.org, Martin Buchholz} for the correct
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6044 code.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6045
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6046 @node Q4.5.4, Q4.6.1, Q4.5.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6047 @unnumberedsubsec Q4.5.4: @samp{Can't instantiate image error...} in toolbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6048
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6049 @email{expt@@alanine.ram.org, Dr. Ram Samudrala} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6050
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6051 I just installed the XEmacs (20.4-2) RPMS that I downloaded from
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6052 @uref{http://www.xemacs.org/}. Everything works fine, except that when
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6053 I place my mouse over the toolbar, it beeps and gives me this message:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6054
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6055 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6056 Can't instantiate image (probably cached):
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6057 [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6058 (16 16 <strange control characters> ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6059 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6060
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6061 @email{kyle_jones@@wonderworks.com, Kyle Jones} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6062 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6063 This is problem specific to some Chips and Technologies video
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6064 chips, when running XFree86. Putting
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6065
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6066 @code{Option "sw_cursor"}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6067
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6068 in @file{XF86Config} gets rid of the problem.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6069 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6070
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6071 @unnumberedsec 4.6: Scrollbars and Scrolling
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6072
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6073 @node Q4.6.1, Q4.6.2, Q4.5.4, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6074 @unnumberedsubsec Q4.6.1: How can I disable the scrollbar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6075
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6076 To disable them for all frames, add the following line to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6077 your @file{.Xresources}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6078
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6079 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6080 Emacs.scrollBarWidth: 0
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6081 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6082
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6083 Or select @samp{Options->Display->Scrollbars}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6084 Remember to save options.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6085
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6086 To turn the scrollbar off on a per-frame basis, use the following
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6087 function:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6088
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6089 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6090 (set-specifier scrollbar-width 0 (selected-frame))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6091 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6092
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6093 You can actually turn the scrollbars on at any level you want by
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6094 substituting for (selected-frame) in the above command. For example, to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6095 turn the scrollbars off only in a single buffer:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6096
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6097 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6098 (set-specifier scrollbar-width 0 (current-buffer))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6099 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6100
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6101 @node Q4.6.2, Q4.6.3, Q4.6.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6102 @unnumberedsubsec Q4.6.2: How can I change the scrollbar width?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6103
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6104 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6105
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6106 @node Q4.6.3, Q4.6.4, Q4.6.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6107 @unnumberedsubsec Q4.6.3: How can I use resources to change scrollbar colors?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6108
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6109 Here's a recap of how to use resources to change your scrollbar colors:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6110
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6111 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6112 ! Motif scrollbars
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6113
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6114 Emacs*XmScrollBar.Background: skyblue
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6115 Emacs*XmScrollBar.troughColor: lightgray
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6116
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6117 ! Athena scrollbars
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6118
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6119 Emacs*Scrollbar.Foreground: skyblue
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6120 Emacs*Scrollbar.Background: lightgray
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6121 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6122
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6123 Note the capitalization of @code{Scrollbar} for the Athena widget.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6124
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6125 @node Q4.6.4, Q4.6.5, Q4.6.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6126 @unnumberedsubsec Q4.6.4: Moving the scrollbar can move the point; can I disable this?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6127
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6128 When I move the scrollbar in an XEmacs window, it moves the point as
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6129 well, which should not be the default behavior. Is this a bug or a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6130 feature? Can I disable it?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6131
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6132 The current behavior is a feature, not a bug. Point remains at the same
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6133 buffer position as long as that position does not scroll off the screen.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6134 In that event, point will end up in either the upper-left or lower-left
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6135 hand corner.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6136
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6137 This cannot be changed.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6138
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6139 @node Q4.6.5, Q4.6.6, Q4.6.4, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6140 @unnumberedsubsec Q4.6.5: Scrolling one line at a time.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6141
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6142 Can the cursor keys scroll the screen a line at a time, rather than the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6143 default half page jump? I tend it to find it disorienting.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6144
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6145 Use the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6146
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6147 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6148 (setq scroll-step 1)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6149 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6150
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6151 You can also change this with Customize. Select from the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6152 @code{Options} menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6153 @code{Advanced (Customize)->Emacs->Environment->Windows->Scroll Step...}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6154 or type @kbd{M-x customize @key{RET} windows @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6155
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6156 @node Q4.6.6, Q4.6.7, Q4.6.5, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6157 @unnumberedsubsec Q4.6.6: How can I turn off automatic horizontal scrolling in specific modes?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6158
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6159 Do @code{(setq truncate-lines t)} in the mode-hooks for any modes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6160 in which you want lines truncated.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6161
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6162 More precisely: If @code{truncate-lines} is nil, horizontal scrollbars
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6163 will never appear. Otherwise, they will appear only if the value of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6164 @code{scrollbar-height} for that buffer/window/etc. is non-zero. If you
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6165 do
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6166
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6167 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6168 (set-specifier scrollbar-height 0)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6169 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6170
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6171 then horizontal scrollbars will not appear in truncated buffers unless
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6172 the package specifically asked for them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6173
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6174 @node Q4.6.7, Q4.7.1, Q4.6.6, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6175 @unnumberedsubsec Q4.6.7: I find auto-show-mode disconcerting. How do I turn it off?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6176
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6177 @code{auto-show-mode} controls whether or not a horizontal scrollbar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6178 magically appears when a line is too long to be displayed. This is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6179 enabled by default. To turn it off, put the following in your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6180 @file{init.el}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6181
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6182 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6183 (setq auto-show-mode nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6184 (setq-default auto-show-mode nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6185 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6186
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6187 @unnumberedsec 4.7: The Gutter Tabs, The Progress Bar, Widgets
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6188
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6189 @node Q4.7.1, Q4.7.2, Q4.6.7, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6190 @unnumberedsubsec Q4.7.1: How can I disable the gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6191
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6192 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6193
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6194 @node Q4.7.2, Q4.7.3, Q4.7.1, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6195 @unnumberedsubsec Q4.7.2: How can I disable the progress bar?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6196
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6197 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6198
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6199 @node Q4.7.3, Q4.7.4, Q4.7.2, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6200 @unnumberedsubsec Q4.7.3: There are bugs in the gutter or widgets.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6201
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6202 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6203
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6204 @node Q4.7.4, , Q4.7.3, Display
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6205 @unnumberedsubsec Q4.7.4: How can I customize the gutter or gutter tabs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6206
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6207 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6208
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6209 @node External Subsystems, Internet, Display, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6210 @unnumbered 5 Interfacing with the Operating System and External Devices
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6211
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6212 This is part 5 of the XEmacs Frequently Asked Questions list. This
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6213 section is devoted to the various ways that XEmacs interfaces with the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6214 operating system, with other processes and with external devices such
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6215 as speakers and the printer.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6216
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6217 @menu
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6218 5.0: X Window System and Resources
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6219 * Q5.0.1:: Where is a list of X resources?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6220 * Q5.0.2:: How can I detect a color display?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6221 * Q5.0.3:: How can I get the icon to just say @samp{XEmacs}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6222 * Q5.0.4:: How can I have the window title area display the full path?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6223 * Q5.0.5:: @samp{xemacs -name junk} doesn't work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6224 * Q5.0.6:: @samp{-iconic} doesn't work.
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6225 * Q5.0.7:: How can I use antialiased fonts under X11?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6226
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6227 5.1: Microsoft Windows
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6228 * Q5.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6229 * Q5.1.2:: How do I get Windows Explorer to associate a file type with XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6230
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6231 5.2: Printing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6232 * Q5.2.1:: What do I need to change to make printing work?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6233 * Q5.2.2:: How can I print WYSIWYG a font-locked buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6234 * Q5.2.3:: Getting @kbd{M-x lpr} to work with postscript printer.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6235 * Q5.2.4:: Can you print under MS Windows?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6236
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6237 5.3: Sound
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6238 * Q5.3.1:: How do I turn off the sound?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6239 * Q5.3.2:: How do I get funky sounds instead of a boring beep?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6240 * Q5.3.3:: What are NAS and ESD (EsounD)?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6241 * Q5.3.4:: Sunsite sounds don't play.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6242
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6243 5.4: Running an Interior Shell, Invoking Subprocesses
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6244 * Q5.4.1:: What is an interior shell?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6245 * Q5.4.2:: How do I start up a second shell buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6246 * Q5.4.3:: Telnet from shell filters too much
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6247 * Q5.4.4:: Strange things are happening in Shell Mode.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6248 * Q5.4.5:: XEmacs complains "No such file or directory, diff"
2995
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6249 * Q5.4.6:: Cygwin error "fork_copy: linked dll/bss pass 0 failed"
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6250
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6251 5.5: Multiple Device Support
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6252 * Q5.5.1:: How do I open a frame on another screen of my multi-headed display?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6253 * Q5.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6254 * Q5.5.3:: How do I disable gnuserv from opening a new frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6255 * Q5.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6256 * Q5.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6257 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6258
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6259 @unnumberedsec 5.0: X Window System and Resources
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6260
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6261 @node Q5.0.1, Q5.0.2, External Subsystems, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6262 @unnumberedsubsec Q5.0.1: Where is a list of X resources?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6263
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6264 Search through the @file{NEWS} file for @samp{X Resources}. A fairly
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6265 comprehensive list is given after it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6266
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6267 In addition, an @file{app-defaults} file @file{etc/Emacs.ad} is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6268 supplied, listing the defaults. The file @file{etc/sample.Xresources}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6269 gives a different set of defaults that you might consider for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6270 installation in your @file{~/.Xresources} file. It is nearly the same
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6271 as @file{etc/Emacs.ad}, but a few entries are altered. Be careful about
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6272 installing the contents of this file into your @file{.Xresources} (or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6273 legacy @file{.Xdefaults}) file if you use GNU Emacs under X11 as well.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6274
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6275 @node Q5.0.2, Q5.0.3, Q5.0.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6276 @unnumberedsubsec Q5.0.2: How can I detect a color display?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6277
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6278 You can test the return value of the function @code{(device-class)}, as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6279 in:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6280
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6281 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6282 (when (eq (device-class) 'color)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6283 (set-face-foreground 'font-lock-comment-face "Grey")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6284 (set-face-foreground 'font-lock-string-face "Red")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6285 ....
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6286 )
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6287 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6288
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6289 @node Q5.0.3, Q5.0.4, Q5.0.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6290 @unnumberedsubsec Q5.0.3: How can I get the icon to just say @samp{XEmacs}?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6291
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6292 I'd like the icon to just say @samp{XEmacs}, and not include the name of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6293 the current file in it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6294
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6295 Add the following line to your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6296
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6297 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6298 (setq frame-icon-title-format "XEmacs")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6299 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6300
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6301 @node Q5.0.4, Q5.0.5, Q5.0.3, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6302 @unnumberedsubsec Q5.0.4: How can I have the window title area display the full path?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6303
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6304 I'd like to have the window title area display the full directory/name
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6305 of the current buffer file and not just the name.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6306
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6307 Add the following line to your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6308
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6309 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6310 (setq frame-title-format "%S: %f")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6311 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6312
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6313 A more sophisticated title might be:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6314
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6315 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6316 (setq frame-title-format
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6317 '("%S: " (buffer-file-name "%f"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6318 (dired-directory dired-directory "%b"))))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6319 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6320
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6321 That is, use the file name, or the dired-directory, or the buffer name.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6322
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6323 @node Q5.0.5, Q5.0.6, Q5.0.4, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6324 @unnumberedsubsec Q5.0.5: @samp{xemacs -name junk} doesn't work?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6325
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6326 When I run @samp{xterm -name junk}, I get an xterm whose class name
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6327 according to xprop, is @samp{junk}. This is the way it's supposed to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6328 work, I think. When I run @samp{xemacs -name junk} the class name is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6329 not set to @samp{junk}. It's still @samp{emacs}. What does
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6330 @samp{xemacs -name} really do? The reason I ask is that my window
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6331 manager (fvwm) will make a window sticky and I use XEmacs to read my
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6332 mail. I want that XEmacs window to be sticky, without having to use the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6333 window manager's function to set the window sticky. What gives?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6334
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6335 @samp{xemacs -name} sets the application name for the program (that is,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6336 the thing which normally comes from @samp{argv[0]}). Using @samp{-name}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6337 is the same as making a copy of the executable with that new name. The
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6338 @code{WM_CLASS} property on each frame is set to the frame-name, and the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6339 application-class. So, if you did @samp{xemacs -name FOO} and then
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6340 created a frame named @var{BAR}, you'd get an X window with WM_CLASS =
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6341 @code{( "BAR", "Emacs")}. However, the resource hierarchy for this
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6342 widget would be:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6343
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6344 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6345 Name: FOO .shell .container .BAR
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6346 Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6347 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6348
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6349 instead of the default
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6350
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6351 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6352 Name: xemacs.shell .container .emacs
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6353 Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6354 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6355
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6356
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6357 It is arguable that the first element of WM_CLASS should be set to the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6358 application-name instead of the frame-name, but I think that's less
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6359 flexible, since it does not give you the ability to have multiple frames
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6360 with different WM_CLASS properties. Another possibility would be for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6361 the default frame name to come from the application name instead of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6362 simply being @samp{emacs}. However, at this point, making that change
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6363 would be troublesome: it would mean that many users would have to make
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6364 yet another change to their resource files (since the default frame name
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6365 would suddenly change from @samp{emacs} to @samp{xemacs}, or whatever
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6366 the executable happened to be named), so we'd rather avoid it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6367
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6368 To make a frame with a particular name use:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6369
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6370 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6371 (make-frame '((name . "the-name")))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6372 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6373
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6374 @node Q5.0.6, Q5.0.7, Q5.0.5, External Subsystems
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6375 @unnumberedsubsec Q5.0.6: @samp{-iconic} doesn't work.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6376
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6377 When I start up XEmacs using @samp{-iconic} it doesn't work right.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6378 Using @samp{-unmapped} on the command line, and setting the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6379 @code{initiallyUnmapped} X Resource don't seem to help much either...
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6380
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6381 @email{ben@@xemacs.org, Ben Wing} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6382
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6383 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6384 Ugh, this stuff is such an incredible mess that I've about given up
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6385 getting it to work. The principal problem is numerous window-manager
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6386 bugs...
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6387 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6388
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6389 @node Q5.0.7, Q5.1.1, Q5.0.6, External Subsystems
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6390 @unnumberedsubsec Q5.0.7: How can I use antialiased fonts under X11?
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6391
4509
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6392 The X11 version of XEmacs can use antialiased fonts via the Xft,
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6393 fontconfig, and freetype libraries. To configure this you need a recent
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6394 beta version (at least 21.5.24); the more recent, the better. This is
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6395 beta software, the usual caveats apply. Rebuild xemacs using the
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6396 following configure options, plus any others you normally use:
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6397
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6398 @samp{--enable-mule --with-xft=emacs,menubars}
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6399
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6400 Xft @emph{may} work without Mule but the developers working on the Xft
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6401 code invariably build with Mule. The tab control also supports Xft, and
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6402 at some date the progress gauge will as well. If they are configured in
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6403 to XEmacs, you may add @samp{tabs} and @samp{gauges} to the value of the
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6404 @samp{--with-xft} option (with a comma separating each value from the
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6405 previous ones). For further details on the XEmacs widgets that support
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6406 XFT, see the output of @code{./configure --help}. If you use a package
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6407 manager from your OS distribution, you may need to install development
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6408 packages for @file{fontconfig} and @file{Xft}, and possibly for their
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6409 prequisites.
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6410
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6411 To specify a particular antialiased font, put something like the
4509
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6412 following lines in your @file{~/.Xdefaults} or @file{~/.Xresources}:
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6413
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6414 @example
4509
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6415 XEmacs.default.attributeFont: monospace-12
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6416 XEmacs.bold.attributeFont: monospace-12:style=Bold
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6417 XEmacs.italic.attributeFont: monospace-12:style=Oblique
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6418 XEmacs.bold-italic.attributeFont: monospace-12:style=Bold Oblique
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6419 XEmacs.modeline.attributeFont: sans-serif-11
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6420 XEmacs.menubar.xftFont: sans-serif-11
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6421 XEmacs*XftFont: sans-serif-11
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6422 @end example
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6423
4509
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6424 @strong{Warning}: These resource naming conventions are just hacks to
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6425 get the code running; you should expect them to change. (Sorry about
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6426 that, but this @emph{is} beta software!)
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6427
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6428 Then run @code{xrdb -merge} before starting the new, XFT-enabled
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6429 xemacs. You can choose the available fonts from the list given by
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6430 @code{fc-list}; try @code{xfd -fa FONTNAME-SIZE} to preview a given
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6431 font. Note that ``monospace'' and ``sans-serif'' are generic aliases
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6432 defined by fontconfig which may correspond to any of many real fonts
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6433 based on local configuration and availability of the aliased fonts,
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6434 and so are likely to give good results in a well-set-up system.
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6435
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6436 Although Customize does not yet handle fontconfig fontspecs, you can
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6437 pass them as strings directly to @samp{set-face-font} to set fonts from
dd12adb12b8f Fix broken Xft FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4505
diff changeset
6438 Lisp.
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6439
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6440 @unnumberedsec 5.1: Microsoft Windows
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6441
4505
a5f1da0eb001 Document XFT support in the FAQ, better describe XEmacs pronunciation.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4311
diff changeset
6442 @node Q5.1.1, Q5.1.2, Q5.0.7, External Subsystems
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6443 @unnumberedsubsec Q5.1.1: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6444
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6445 In his flavor of Emacs 20, Richard Stallman has renamed all the @samp{win32-*}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6446 symbols to @samp{w32-*}. Does XEmacs do the same?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6447
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6448 We consider such a move counter-productive, thus we do not use the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6449 @samp{w32} prefix. (His rather questionable justification was that he
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6450 did not consider Windows to be a "winning" platform.) However, the name
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6451 @samp{Win32} is not particularly descriptive outside the Windows world,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6452 and using just @samp{windows-} would be too generic. So we chose a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6453 compromise, the prefix @samp{mswindows-} for Windows-related variables
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6454 and functions.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6455
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6456 Thus all the XEmacs variables and functions directly related to either
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6457 the Windows GUI or OS are prefixed @samp{mswindows-} (except for a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6458 couple of debugging variables, prefixed @samp{debug-mswindows-}). From
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6459 an architectural perspective, however, we believe that this is mostly a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6460 non-issue because there should be a very small number of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6461 window-systems-specific variables anyway. Whenever possible, we try to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6462 provide generic interfaces that apply to all window systems.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6463
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6464 @c not true:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6465 @c The user variables
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6466 @c that share functionality with existing NT Emacs variables are be named
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6467 @c with our convention, but we provide the GNU Emacs names as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6468 @c compatibility aliases.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6469
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6470 @node Q5.1.2, Q5.2.1, Q5.1.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6471 @unnumberedsubsec Q5.1.2: How do I get Windows Explorer to associate a file type with XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6472
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6473 @unnumberedsubsubsec Associating a new file type with XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6474
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6475 In Explorer select @samp{View->Options->File Types}, press @samp{[New
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6476 Type...]} and fill in the dialog box, e.g.:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6477
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6478 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6479 Description of type: Emacs Lisp source
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6480 Associated extension: el
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6481 Content Type (MIME): text/plain
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6482 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6483
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6484 then press @samp{[New...]} and fill in the @samp{Action} dialog box as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6485 follows:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6486
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6487 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6488 Action:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6489 Open
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6490
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6491 Application used to perform action:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6492 D:\Full\path\for\xemacs.exe "%1"
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6493
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6494 [x] Use DDE
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6495
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6496 DDE Message:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6497 open("%1")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6498
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6499 Application:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6500 <leave blank>
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6501
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6502 DDE Application Not Running:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6503 <leave blank>
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6504
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6505 Topic:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6506 <leave blank>
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6507 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6508
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6509 @unnumberedsubsubsec Associating an existing file type with XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6510
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6511 In Explorer select @samp{View->Options->File Types}. Click on the file
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6512 type in the list and press @samp{[Edit...]}. If the file type already
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6513 has an @samp{Open} action, double click on it and fill in the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6514 @samp{Action} dialog box as described above; otherwise create a new
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6515 action.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6516
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6517 If the file type has more than one action listed, you probably want to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6518 make the @samp{Open} action that you just edited the default by clicking on
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6519 it and pressing @samp{Set Default}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6520
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6521 Note for Windows 2000 users: Under Windows 2000, get to @samp{File Types}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6522 using @samp{Control Panel->Folder Options->File Types}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6523
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6524 @unnumberedsec 5.2: Printing
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6525
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6526 @node Q5.2.1, Q5.2.2, Q5.1.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6527 @unnumberedsubsec Q5.2.1: What do I need to change to make printing work?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6528
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6529 For regular printing there are two variables that can be customized.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6530
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6531 @table @code
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6532 @item lpr-command
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6533 This should be set to a command that takes standard input and sends
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6534 it to a printer. Something like:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6535
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6536 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6537 (setq lpr-command "lp")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6538 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6539
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6540 @item lpr-switches
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6541 This should be set to a list that contains whatever the print command
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6542 requires to do its job. Something like:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6543
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6544 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6545 (setq lpr-switches '("-depson"))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6546 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6547 @end table
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6548
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6549 For postscript printing there are three analogous variables to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6550 customize.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6551
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6552 @table @code
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6553 @item ps-lpr-command
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6554 This should be set to a command that takes postscript on standard input
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6555 and directs it to a postscript printer.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6556
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6557 @item ps-lpr-switches
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6558 This should be set to a list of switches required for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6559 @code{ps-lpr-command} to do its job.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6560
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6561 @item ps-print-color-p
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6562 This boolean variable should be set @code{t} if printing will be done in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6563 color, otherwise it should be set to @code{nil}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6564 @end table
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6565
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6566 NOTE: It is an undocumented limitation in XEmacs that postscript
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6567 printing (the @code{Pretty Print Buffer} menu item) @strong{requires} a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6568 window system environment. It cannot be used outside of X11.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6569
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6570 @node Q5.2.2, Q5.2.3, Q5.2.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6571 @unnumberedsubsec Q5.2.2: How can I print WYSIWYG a font-locked buffer?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6572
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6573 Font-lock looks nice. How can I print (WYSIWYG) the highlighted
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6574 document?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6575
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6576 The package @code{ps-print}, which is now included with XEmacs, provides
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6577 the ability to do this. The source code contains complete instructions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6578 on its use, in
5551
40a52efbf3a3 Reflect change of location of packages to share/
Mike Sperber <sperber@deinprogramm.de>
parents: 5390
diff changeset
6579 @file{$prefix/share/xemacs/xemacs-packages/lisp/ps-print/ps-print.el},
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6580 being the default location of an installed ps-print package.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6581
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6582 @node Q5.2.3, Q5.2.4, Q5.2.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6583 @unnumberedsubsec Q5.2.3: Getting @kbd{M-x lpr} to work with postscript printer.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6584
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6585 My printer is a Postscript printer and @code{lpr} only works for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6586 Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6587 lpr-buffer} to work?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6588
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6589 Put something like this in your @file{init.el}:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6590
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6591 @lisp
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6592 (setq lpr-command "a2ps")
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6593 (setq lpr-switches '("-p" "-1"))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6594 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6595
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6596 If you don't use a2ps to convert ASCII to postscript (why not, it's
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6597 free?), replace with the command you do use. Note also that some
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6598 versions of a2ps require a @samp{-Pprinter} to ensure spooling.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6599
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6600 @node Q5.2.4, Q5.3.1, Q5.2.3, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6601 @unnumberedsubsec Q5.2.4: Can you print under MS Windows?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6602
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6603 As of 21.4, printing works on Windows, using simply
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6604 @samp{File->Print BUFFER...}, and can be configured with
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6605 @samp{File->Page Setup...}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6606
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6607 Prior to 21.4, there is no built-in support, but there are some clever
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6608 hacks out there. If you know how, please let us know and we'll put it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6609 here.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6610
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6611 @unnumberedsec 5.3: Sound
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6612
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6613 @node Q5.3.1, Q5.3.2, Q5.2.4, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6614 @unnumberedsubsec Q5.3.1: How do I turn off the sound?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6615
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6616 Add the following line to your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6617
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6618 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6619 (setq bell-volume 0)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6620 (setq sound-alist nil)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6621 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6622
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6623 That will make your XEmacs totally silent---even the default ding sound
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6624 (TTY beep on TTY-s) will be gone.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6625
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6626 You can also change these with Customize. Select from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6627 @code{Options} menu @code{Advanced
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6628 (Customize)->Emacs->Environment->Sound->Sound...} or type @kbd{M-x
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6629 customize @key{RET} sound @key{RET}}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6630
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6631
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6632 @node Q5.3.2, Q5.3.3, Q5.3.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6633 @unnumberedsubsec Q5.3.2: How do I get funky sounds instead of a boring beep?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6634
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6635 Make sure your XEmacs was compiled with sound support, and then put this
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6636 in your @file{init.el}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6637
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6638 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6639 (load-default-sounds)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6640 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6641
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6642 @node Q5.3.3, Q5.3.4, Q5.3.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6643 @unnumberedsubsec Q5.3.3: What are NAS and ESD (EsounD)?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6644
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6645 @dfn{Network Audio System} (NAS) is a client-server sound library for X.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6646
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6647 @uref{http://radscan.com/nas.html}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6648
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6649 To build XEmacs with it, use the @file{configure} flag
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6650 @samp{--with-sound=nas} (@samp{--enable-sound=nas} in 21.5 or later).
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6651
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6652 @dfn{Enlightened Sound Daemon} (ESD or EsounD) is yet another sound system.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6653
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6654 @uref{http://www.tux.org/~ricdude/EsounD.html}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6655
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6656 To build XEmacs with it, use the @file{configure} flag
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6657 @samp{--with-sound=esd} (@samp{--enable-sound=esd} in 21.5 or later).
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6658
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6659 You can specify support for both with a flag like
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6660 @samp{--with-sound=nas,esd} (@samp{--enable-sound=nas,esd} in 21.5 or
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
6661 later).
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6662
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6663 @node Q5.3.4, Q5.4.1, Q5.3.3, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6664 @unnumberedsubsec Q5.3.4: Sunsite sounds don't play.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6665
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6666 I'm having some trouble with sounds I've downloaded from sunsite. They
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6667 play when I run them through @code{showaudio} or cat them directly to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6668 @file{/dev/audio}, but XEmacs refuses to play them.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6669
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6670 @email{gutschk@@uni-muenster.de, Markus Gutschke} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6671
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6672 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6673 [Many of] These files have an (erroneous) 24byte header that tells about
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6674 the format that they have been recorded in. If you cat them to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6675 @file{/dev/audio}, the header will be ignored and the default behavior
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6676 for /dev/audio will be used. This happens to be 8kHz uLaw. It is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6677 probably possible to fix the header by piping through @code{sox} and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6678 passing explicit parameters for specifying the sampling format; you then
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6679 need to perform a 'null' conversion from SunAudio to SunAudio.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6680 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6681
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6682 @unnumberedsec 5.4: Running an Interior Shell, Invoking Subprocesses
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6683
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6684 @node Q5.4.1, Q5.4.2, Q5.3.4, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6685 @unnumberedsubsec Q5.4.1: What is an interior shell?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6686
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6687 #### Write me.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6688
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6689 @node Q5.4.2, Q5.4.3, Q5.4.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6690 @unnumberedsubsec Q5.4.2: How do I start up a second shell buffer?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6691
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6692 In the @code{*shell*} buffer:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6693
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6694 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6695 M-x rename-buffer @key{RET} *shell-1* @key{RET}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6696 M-x shell RET
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6697 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6698
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6699 This will then start a second shell. The key is that no buffer named
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6700 @samp{*shell*} can exist. It might be preferable to use @kbd{M-x
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6701 rename-uniquely} to rename the @code{*shell*} buffer instead of @kbd{M-x
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6702 rename-buffer}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6703
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6704 Alternately, you can set the variable @code{shell-multiple-shells}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6705 If the value of this variable is non-nil, each time shell mode is invoked,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6706 a new shell is made
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6707
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6708 @node Q5.4.3, Q5.4.4, Q5.4.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6709 @unnumberedsubsec Q5.4.3: Telnet from shell filters too much
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6710
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6711 I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6712 and use a telnet session within it. Everything works fine except that
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6713 now all @samp{^M}'s are filtered out by Emacs. Fixes?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6714
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6715 Use @kbd{M-x rsh} or @kbd{M-x telnet} to open remote sessions rather
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6716 than doing rsh or telnet within the local shell buffer. You can also
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6717 use @kbd{M-x ssh} to open secure remote session if you have @code{ssh}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6718 installed.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6719
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6720 @node Q5.4.4, Q5.4.5, Q5.4.3, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6721 @unnumberedsubsec Q5.4.4: Strange things are happening in Shell Mode.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6722
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6723 Sometimes (i.e. it's not repeatable, and I can't work out why it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6724 happens) when I'm typing into shell mode, I hit return and only a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6725 portion of the command is given to the shell, and a blank prompt is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6726 returned. If I hit return again, the rest of the previous command is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6727 given to the shell.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6728
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6729 @email{martin@@xemacs.org, Martin Buchholz} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6730
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6731 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6732 There is a known problem with interaction between @code{csh} and the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6733 @code{filec} option and XEmacs. You should add the following to your
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6734 @file{.cshrc}:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6735
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6736 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6737 if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6738 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6739 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6740
2995
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6741 @node Q5.4.5, Q5.4.6, Q5.4.4, External Subsystems
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6742 @unnumberedsubsec Q5.4.5: XEmacs complains "No such file or directory, diff"
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6743
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6744 or "ispell" or other commands that seem related to whatever you just
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6745 tried to do (M-x ediff or M-$, for example).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6746
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6747 There are a large number of common (in the sense that "everyone has
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6748 these, they really do") Unix utilities that are not provided with
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6749 XEmacs. The GNU Project's implementations are available for Windows in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6750 the the Cygwin distribution (@uref{http://www.cygwin.com/}), which also
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6751 provides a complete Unix emulation environment (and thus makes ports of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6752 Unix utilities nearly trivial). Another implementation is that from
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6753 MinGW (@uref{http://www.mingw.org/msys.shtml}). If you know of others,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6754 please let us know!
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6755
2995
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6756 @node Q5.4.6, Q5.5.1, Q5.4.5, External Subsystems
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6757 @unnumberedsubsec Q5.4.6: Cygwin error "fork_copy: linked dll/bss pass 0 failed"
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6758
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6759 If you are getting an error like
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6760
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6761 @example
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6762 17797832 [main] bash 3468 fork_copy: linked dll/bss pass 0 failed,
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6763 0x675000..0x6756A0, done 0, windows pid 2708, Win 32 error 487
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6764 bash: fork: resource temporarily unavailable
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6765 @end example
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6766
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6767 when trying to run bash using @kbd{M-x shell}, then you need to rebase
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6768 your Cygwin DLL's. This is a known problem with Cygwin. To fix:
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6769
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6770 @enumerate
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6771 @item
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6772 Download the @file{rebase} utility from Cygwin setup (it's under
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6773 @samp{System}).
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6774 @item
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6775 Kill @strong{all} of your Cygwin processes, including all of your
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6776 shells and all background processes. Use @code{ps -a} to list all the
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6777 processes you need to kill.
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6778 @item
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6779 From a DOS prompt, run @file{ash} (@strong{not} @file{bash},
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6780 @file{tcsh} or @file{zsh}). Do not try to be clever and @code{exec
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6781 /bin/ash} from your last shell; it won't work.
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6782 @item
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6783 Type @code{/bin/rebaseall -v}.
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6784 @end enumerate
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6785
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6786 The problem should now be fixed -- at least, until you install another
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6787 Cygwin package with DLL's, in which case you may have to repeat the
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6788 procedure.
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6789
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6790 @unnumberedsec 5.5: Multiple Device Support
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6791
2995
574c005d1f5c [xemacs-hg @ 2005-10-14 02:11:49 by ben]
ben
parents: 2769
diff changeset
6792 @node Q5.5.1, Q5.5.2, Q5.4.6, External Subsystems
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6793 @unnumberedsubsec Q5.5.1: How do I open a frame on another screen of my multi-headed display?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6794
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6795 Use the command @kbd{M-x make-frame-on-display}. This command is also
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6796 on the File menu in the menubar.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6797
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6798 The command @code{make-frame-on-tty} also exists, which will establish a
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6799 connection to any tty-like device. Opening the TTY devices should be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6800 left to @code{gnuclient}, though.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6801
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6802 @node Q5.5.2, Q5.5.3, Q5.5.1, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6803 @unnumberedsubsec Q5.5.2: Can I really connect to a running XEmacs after calling up over a modem? How?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6804
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6805 Yes. Use @code{gnuclient -nw}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6806
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6807 Also see @ref{Q5.5.3, How do I disable gnuserv from opening a new frame?}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6808
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6809 @node Q5.5.3, Q5.5.4, Q5.5.2, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6810 @unnumberedsubsec Q5.5.3: How do I disable gnuserv from opening a new frame?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6811
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6812 If you set the @code{gnuserv-frame} variable to the frame that should be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6813 used to display buffers that are pulled up, a new frame will not be
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6814 created. For example, you could put
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6815
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6816 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6817 (setq gnuserv-frame (selected-frame))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6818 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6819
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6820 early on in your @file{init.el}, to ensure that the first frame created
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6821 is the one used for your gnuserv buffers.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6822
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6823 There is an option to set the gnuserv target to the current frame. See
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6824 @code{Options->Display->"Other Window" Location->Make Current Frame Gnuserv Target}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6825
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6826 You can also change this with Customize. Select from the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6827 @code{Options} menu @code{Advanced
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6828 (Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...} or type
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6829 @kbd{M-x customize @key{RET} gnuserv @key{RET}}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6830
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6831
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6832 @node Q5.5.4, Q5.5.5, Q5.5.3, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6833 @unnumberedsubsec Q5.5.4: How do I start gnuserv so that each subsequent XEmacs is a client?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6834
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6835 Put the following in your @file{init.el} file to start the server:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6836
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6837 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6838 (gnuserv-start)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6839 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6840
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6841 Start your first XEmacs as usual. After that, you can do:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6842
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6843 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6844 gnuclient randomfilename
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6845 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6846
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6847 from the command line to get your existing XEmacs process to open a new
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6848 frame and visit randomfilename in that window. When you're done editing
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6849 randomfilename, hit @kbd{C-x #} to kill the buffer and get rid of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6850 frame.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6851
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6852 See also man page of gnuclient.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6853
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6854 @node Q5.5.5, , Q5.5.4, External Subsystems
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6855 @unnumberedsubsec Q5.5.5: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6856
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6857 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6858 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6859 Here is one of the solutions, we have this in a script called
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6860 @file{etc/editclient.sh}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6861 @example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6862 #!/bin/sh
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6863 if gnuclient -batch -eval t >/dev/null 2>&1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6864 then
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6865 exec gnuclient $@{1+"$@@"@}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6866 else
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6867 xemacs -unmapped -f gnuserv-start &
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6868 until gnuclient -batch -eval t >/dev/null 2>&1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6869 do
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6870 sleep 1
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6871 done
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6872 exec gnuclient $@{1+"$@@"@}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6873 fi
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6874 @end example
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6875
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6876 Note that there is a known problem when running XEmacs and 'gnuclient
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6877 -nw' on the same TTY.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6878 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
6879
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6880 @node Internet, Advanced, External Subsystems, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6881 @unnumbered 6 Connecting to the Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6882
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6883 This is part 6 of the XEmacs Frequently Asked Questions list. This
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6884 section is devoted connecting to the Internet.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6885
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6886 @menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6887 6.0: General Mail and News
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6888 * Q6.0.1:: What are the various packages for reading mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6889 * Q6.0.2:: How can I send mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6890 * Q6.0.3:: How do I get my outgoing mail archived?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6891 * Q6.0.4:: How can I read and/or compose MIME messages?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6892 * Q6.0.5:: How do I customize the From line?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6893 * Q6.0.6:: How do I get my MUA to filter mail for me?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6894 * Q6.0.7:: Remote mail reading with an MUA.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6895 * Q6.0.8:: An MUA gets an error incorporating new mail.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6896 * Q6.0.9:: Why isn't @file{movemail} working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6897 * Q6.0.10:: How do I make my MUA display graphical smilies?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6898 * Q6.0.11:: How can I get those oh-so-neat X-Face lines?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6899
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6900 6.1: Reading Mail with VM
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6901 * Q6.1.1:: How do I set up VM to retrieve mail from a remote site using POP?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6902 * Q6.1.2:: How can I get VM to automatically check for new mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6903 * Q6.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6904 * Q6.1.4:: Is there a mailing list or FAQ for VM?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6905 * Q6.1.5:: How do I make VM stay in a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6906 * Q6.1.6:: Customization of VM not covered in the manual, or here.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6907
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6908 6.2: Reading Netnews and Mail with Gnus
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6909 * Q6.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6910 * Q6.2.2:: How do I make Gnus stay within a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6911
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6912 6.3: FTP Access
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6913 * Q6.3.1:: Can I edit files on other hosts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6914 * Q6.3.2:: What is EFS?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6915
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6916 6.4: Web Browsing with W3
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6917 * Q6.4.1:: What is W3?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6918 * Q6.4.2:: How do I run W3 from behind a firewall?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6919 * Q6.4.3:: Is it true that W3 supports style sheets and tables?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6920 @end menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6921
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6922 @unnumberedsec 6.0: General Mail and News
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6923
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6924 @node Q6.0.1, Q6.0.2, Internet, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6925 @unnumberedsubsec Q6.0.1: What are the various packages for reading mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6926
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6927 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6928
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6929 @node Q6.0.2, Q6.0.3, Q6.0.1, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6930 @unnumberedsubsec Q6.0.2: How can I send mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6931
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6932 Under Unix and Mac OS X, the @samp{sendmail} package is normally used
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6933 for this.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6934 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6935
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6936 Under Windows, you need to use @samp{smtpmail}, which communicates
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6937 directly with the mail server, as there is no @file{sendmail} program
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6938 running. To get it working, use code like the following in your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6939 @file{init.el} file:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6940
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6941 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6942 ;; Get mail working under Windows.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6943 (setq message-send-mail-function 'smtpmail-send-it) ; for message/Gnus
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6944 (setq send-mail-function 'smtpmail-send-it) ; for C-x m, etc.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6945 ;; the following ensures that mail problems can be debugged: it logs a trace
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6946 ;; of the SMTP conversation to *trace of SMTP session to <somewhere>*.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6947 (setq smtpmail-debug-info t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6948 ;; Substitute your info here.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6949 ;(setq user-mail-address "ben@@xemacs.org")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6950 ;(setq user-full-name "Ben Wing")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6951 ;(setq smtpmail-default-smtp-server "smtp.myserver.myisp.com")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6952 ;; The following two aren't completely necessary but may help.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6953 ;(setq smtpmail-local-domain "666.com")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6954 ;(setq smtpmail-sendto-domain "666.com")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6955 ;; If your SMTP server requires a username/password to authenticate, as
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6956 ;; many do nowadays, set them like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6957 ;(setq smtpmail-auth-credentials ; or use ~/.authinfo
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6958 ; '(("smtp.myserver.myisp.com" 25 "USER@@SOMEWHERE" "PASSWORD")))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6959
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6960 ;; Other possibilities for getting smtpmail to work:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6961 ;;
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6962 ;; If for some reason you need to authenticate using the STARTTLS protocol
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6963 ;; (don't look into this unless you know what it is), use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6964 ;; (setq smtpmail-starttls-credentials
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6965 ;; '(("YOUR SMTP HOST" 25 "~/.my_smtp_tls.key" "~/.my_smtp_tls.cert")))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6966 ;; Requires external program
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6967 ;; ftp://ftp.opaopa.org/pub/elisp/starttls-*.tar.gz.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6968 ;; See http://www.ietf.org/rfc/rfc2246.txt,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6969 ;; http://www.ietf.org/rfc/rfc2487.txt
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6970 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6971
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6972 The lines you need to care about are those that set
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6973 @code{user-mail-address}, @code{user-full-name},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6974 @code{smtpmail-default-smtp-server}, and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6975 @code{smtpmail-auth-credentials}. You need to set these with,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6976 respectively, your email address, your full name, the SMTP server you
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6977 use for outgoing mail, and the username and password you need to log
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6978 in to your SMTP server. (If for some reason your SMTP server doesn't
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6979 require logging in to send mail, don't uncomment this last line.)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6980
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6981 The other settings may be useful in specific cases, but you should know what
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6982 you're doing before enabling them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6983
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6984 @node Q6.0.3, Q6.0.4, Q6.0.2, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6985 @unnumberedsubsec Q6.0.3: How do I get my outgoing mail archived?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6986
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6987 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6988 (setq mail-archive-file-name "~/outbox")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6989 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6990
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6991 @node Q6.0.4, Q6.0.5, Q6.0.3, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6992 @unnumberedsubsec Q6.0.4: How can I read and/or compose MIME messages?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6993
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6994 VM, MH-E and GNUS support MIME natively. Other MUAs may or may not
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6995 have MIME support; refer to their documentation and other resources,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6996 such as web pages and mailing lists. Packages like SEMI/WEMI may be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6997 useful in connection with MUAs like mew and Wanderlust.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6998
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
6999 @node Q6.0.5, Q6.0.6, Q6.0.4, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7000 @unnumberedsubsec Q6.0.5: How do I customize the From line?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7001
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7002 How do I change the @samp{From:} line? I have set gnus-user-from-line
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7003 to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7004 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7005 Gail Gurman <gail.gurman@@sybase.com>
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7006 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7007 @noindent , but XEmacs Gnus doesn't use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7008 it. [This should apply to all MUA's. --ed] Instead it uses
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7009 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7010 Gail Mara Gurman @email{gailg@@deall}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7011 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7012 @noindent and then complains
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7013 that it's incorrect. Also, as you perhaps can see, my Message-ID is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7014 screwy. How can I change that?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7015
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7016 @email{larsi@@ifi.uio.no, Lars Magne Ingebrigtsen} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7017
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7018 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7019 Set @code{user-mail-address} to @samp{gail.gurman@@sybase.com} or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7020 @code{mail-host-address} to @samp{sybase.com}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7021 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7022
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7023 @node Q6.0.6, Q6.0.7, Q6.0.5, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7024 @unnumberedsubsec Q6.0.6: How do I get my MUA to filter mail for me?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7025
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7026 One possibility is to use procmail to split your mail before it gets to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7027 the MUA. I prefer this personally, since there are many strange and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7028 wonderful things one can do with procmail. Procmail may be found at
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7029 @uref{http://www.procmail.org/}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7030
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7031 Also see the Mail Filtering FAQ at:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7032 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7033 @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7034 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7035 @uref{http://www.faqs.org/faqs/mail/filtering-faq/}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7036
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7037 @node Q6.0.7, Q6.0.8, Q6.0.6, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7038 @unnumberedsubsec Q6.0.7: Remote mail reading with an MUA.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7039
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7040 My mailbox lives at the office on a big honkin server. My regular INBOX
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7041 lives on my honkin desktop machine. I now can PPP to the office from
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7042 home which is far from honking... I'd like to be able to read mail at
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7043 home without storing it here and I'd like to use xemacs and the MUA at
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7044 home... Is there a recommended setup?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7045
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7046 @email{nuspl@@nvwls.cc.purdue.edu, Joseph J. Nuspl Jr.} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7047
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7048 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7049 There are several ways to do this.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7050
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7051 @enumerate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7052 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7053 Set your display to your home machine and run dxpc or one of the other X
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7054 compressors.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7055
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7056 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7057 NFS mount your desktop machine on your home machine and modify your pop
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7058 command on your home machine to rsh to your desktop machine and actually
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7059 do the pop get's.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7060
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7061 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7062 Run a POP server on your desktop machine as well and do a sort of two
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7063 tiered POP get.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7064 @end enumerate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7065 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7066
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7067 @email{wmperry@@monolith.spry.com, William Perry} adds:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7068
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7069 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7070 Or you could run a pop script periodically on your desktop machine, and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7071 just use ange-ftp or NFS to get to your mailbox. I used to do this all
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7072 the time back at IU.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7073 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7074
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7075 @node Q6.0.8, Q6.0.9, Q6.0.7, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7076 @unnumberedsubsec Q6.0.8: An MUA gets an error incorporating new mail.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7077
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7078 rmail and VM, and probably other MUA's as well, get new mail from
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7079 your mailbox (called @file{/var/mail/$USER} or @file{/var/spool/mail/$USER}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7080 or something similar) using a program called @code{movemail}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7081 This program interlocks with @code{/bin/mail} using the protocol
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7082 defined by @code{/bin/mail}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7083
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7084 There are various different protocols in general use, which you need to
3018
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
7085 specify using the @samp{--mail-locking} option
31e656a27dae [xemacs-hg @ 2005-10-24 20:39:38 by malcolmp]
malcolmp
parents: 2995
diff changeset
7086 (@samp{--with-mail-locking} in 21.5 or later) to @file{configure}:
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7087
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7088 @table @samp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7089 @item lockf
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7090 POSIX file locking with @code{lockf()}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7091 @item flock
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7092 BSD file locking with @code{flock()}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7093 @item dot
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7094 To manipulate mail file @file{foo}, first create file @file{foo.lock}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7095 @item locking
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7096 Use @code{locking()}, Microsoft's renamed @code{flock()}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7097 @item mmdf
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7098 Use @code{lk_open()} and @code{lk_close()} as defined by the Multi-channel
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7099 Memo Distribution Facility
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7100 @item pop
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7101 Retrieve mail using POP (the Post Office Protocol). This is the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7102 default for Cygwin/MinGW.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7103 @end table
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7104
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7105 @strong{IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7106 SYSTEM, YOU CAN LOSE MAIL!}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7107
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7108 Usually the value is correctly determined automatically:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7109 @file{configure} tries to detect the method in use, and defaults exist
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7110 on systems for which this doesn't work.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7111
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7112 However, if you run into problems incorporating new mail, it may be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7113 because an incorrect method is being used.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7114
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7115 If your system uses the lock file protocol, and permissions are set
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7116 so that ordinary users cannot write lock files in the mail spool
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7117 directory, you may need to make @file{movemail} setgid to a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7118 suitable group such as @samp{mail}. You can use these commands (as
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7119 root):
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7120
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7121 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7122 chgrp mail movemail
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7123 chmod 2755 movemail
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7124 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7125
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7126 If you are using the @samp{pop} locking method, @file{movemail} must
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7127 be setuid root.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7128
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7129 Installation normally copies movemail from the build directory to an
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7130 installation directory which is usually under @file{/usr/local/lib}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7131 The installed copy of @file{movemail} is usually in the directory
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7132 @file{/usr/local/lib/xemacs-VERSION/TARGET} (for example,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7133 @file{/usr/local/lib/xemacs-21.4.15/i686-pc-cygwin}). You must change
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7134 the group and mode of the installed copy; changing the group and mode
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7135 of the build directory copy is ineffective.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7136
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7137 @node Q6.0.9, Q6.0.10, Q6.0.8, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7138 @unnumberedsubsec Q6.0.9: Why isn't @file{movemail} working?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7139
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7140 @xref{Q6.0.8}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7141
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7142 Note also that older versions of Mozilla came with a @file{movemail}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7143 program that is @strong{not} compatible with XEmacs. Do not use it.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7144 Always use the @file{movemail} installed with your XEmacs. Failure to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7145 do so can result in lost mail.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7146
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7147 @node Q6.0.10, Q6.0.11, Q6.0.9, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7148 @unnumberedsubsec Q6.0.10: How do I make my MUA display graphical smilies?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7149 For mh-e use the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7150
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7151 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7152 (add-hook 'mh-show-mode-hook '(lambda ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7153 (smiley-region (point-min)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7154 (point-max))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7155 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7156
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7157 @email{bill@@carpenter.ORG, WJCarpenter} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7158 For VM use the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7159 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7160 (autoload 'smiley-region "smiley" nil t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7161 (add-hook 'vm-select-message-hook
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7162 '(lambda ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7163 (smiley-region (point-min)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7164 (point-max))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7165 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7166
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7167 For tm use the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7168 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7169 (autoload 'smiley-buffer "smiley" nil t)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7170 (add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7171 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7172
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7173 @node Q6.0.11, Q6.1.1, Q6.0.10, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7174 @unnumberedsubsec Q6.0.11: How can I get those oh-so-neat X-Face lines?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7175
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7176 Firstly there is an ftp site which describes X-faces and has the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7177 associated tools mentioned below, at
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7178 @uref{http://ftp.cs.indiana.edu/pub/faces/}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7179
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7180 Then the steps are
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7181
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7182 @enumerate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7183 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7184 Create 48x48x1 bitmap with your favorite tool
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7185
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7186 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7187 Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7188 and then compile the face.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7189
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7190 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7191 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7192 cat file.xbm | xbm2ikon |compface > file.face
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7193 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7194
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7195 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7196 Then be sure to quote things that are necessary for emacs strings:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7197
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7198 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7199 cat ./file.face | sed 's/\\/\\\\/g'
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7200 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7201 \ @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7202 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7203 | sed 's/\"/\\\"/g' > ./file.face.quoted
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7204 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7205
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7206 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7207 Then set up emacs to include the file as a mail header - there were a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7208 couple of suggestions here---either something like:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7209
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7210 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7211 (setq mail-default-headers
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7212 "X-Face: @email{Ugly looking text string here}")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7213 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7214
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7215 Or, alternatively, as:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7216
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7217 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7218 (defun mail-insert-x-face ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7219 (save-excursion
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7220 (goto-char (point-min))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7221 (search-forward mail-header-separator)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7222 (beginning-of-line)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7223 (insert "X-Face:")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7224 (insert-file-contents "~/.face")))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7225
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7226 (add-hook 'mail-setup-hook 'mail-insert-x-face)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7227 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7228 @end enumerate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7229
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7230 However, 2 things might be wrong:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7231
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7232 Some versions of pbmtoicon produces some header lines that is not
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7233 expected by the version of compface that I grabbed. So I found I had to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7234 include a @code{tail +3} in the pipeline like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7235
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7236 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7237 cat file.xbm | xbm2ikon | tail +3 |compface > file.face
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7238 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7239
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7240 Some people have also found that if one uses the @code{(insert-file)}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7241 method, one should NOT quote the face string using the sed script .
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7242
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7243 It might also be helpful to use @email{stig@@hackvan.com, Stig's} script
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7244 xbm2face (included in the compface distribution at XEmacs.org) to do the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7245 conversion.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7246
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7247 Contributors for this item:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7248
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7249 Paul Emsley,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7250 Ricardo Marek,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7251 Amir J. Katz,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7252 Glen McCort,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7253 Heinz Uphoff,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7254 Peter Arius,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7255 Paul Harrison, and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7256 Vegard Vesterheim
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7257
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7258 @unnumberedsec 6.1: Reading Mail with VM
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7259
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7260 @node Q6.1.1, Q6.1.2, Q6.0.11, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7261 @unnumberedsubsec Q6.1.1: How do I set up VM to retrieve mail from a remote site using POP?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7262
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7263 Use @code{vm-spool-files}, like this for example:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7264
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7265 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7266 (setq vm-spool-files '("/var/spool/mail/wing"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7267 "netcom23.netcom.com:110:pass:wing:MYPASS"))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7268 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7269
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7270 Of course substitute your actual password for MYPASS.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7271
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7272 @node Q6.1.2, Q6.1.3, Q6.1.1, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7273 @unnumberedsubsec Q6.1.2: How can I get VM to automatically check for new mail?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7274
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7275 @email{turner@@lanl.gov, John Turner} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7276
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7277 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7278 Use the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7279
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7280 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7281 (setq vm-auto-get-new-mail 60)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7282 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7283 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7284
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7285 @node Q6.1.3, Q6.1.4, Q6.1.2, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7286 @unnumberedsubsec Q6.1.3: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7287
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7288 Set @code{vm-reply-ignored-addresses} to a list, like
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7289
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7290 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7291 (setq vm-reply-ignored-addresses
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7292 '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7293 "wing@@netcom.com" "wing@@xemacs.org"))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7294 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7295
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7296 Note that each string is a regular expression.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7297
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7298 @node Q6.1.4, Q6.1.5, Q6.1.3, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7299 @unnumberedsubsec Q6.1.4: Is there a mailing list or FAQ for VM?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7300
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7301 A FAQ for VM exists at @uref{http://www.wonderworks.com/vm/FAQ.html}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7302
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7303 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7304
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7305 @node Q6.1.5, Q6.1.6, Q6.1.4, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7306 @unnumberedsubsec Q6.1.5: How do I make VM stay in a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7307
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7308 John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7309
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7310 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7311 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7312 ; Don't use multiple frames
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7313 (setq vm-frame-per-composition nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7314 (setq vm-frame-per-folder nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7315 (setq vm-frame-per-edit nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7316 (setq vm-frame-per-summary nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7317 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7318 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7319
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7320 @node Q6.1.6, Q6.2.1, Q6.1.5, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7321 @unnumberedsubsec Q6.1.6: Customization of VM not covered in the manual, or here.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7322
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
7323 @email{boffi@@hp735.stru.polimi.it, Giacomo Boffi} writes:
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7324
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7325 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7326 The meta-answer is to look into the file @file{vm-vars.el}, in the vm
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7327 directory of the lisp library.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7328
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7329 @file{vm-vars.el} contains, initializes and carefully describes, with
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7330 examples of usage, the plethora of user options that @emph{fully}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7331 control VM's behavior.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7332
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7333 Enter vm-vars, @code{forward-search} for toolbar, find the variables
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7334 that control the toolbar placement, appearance, existence, copy to your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7335 @file{init.el} or @file{.vm} and modify according to the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7336 detailed instructions.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7337
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7338 The above also applies to all the various features of VM: search for
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7339 some keywords, maybe the first you conjure isn't appropriate, find the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7340 appropriate variables, copy and experiment.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7341 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7342
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7343 @unnumberedsec 6.2: Reading Netnews and Mail with Gnus
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7344
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7345 @node Q6.2.1, Q6.2.2, Q6.1.6, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7346 @unnumberedsubsec Q6.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7347
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7348 The Gnus numbering issues are not meant for mere mortals to know them.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7349 If you feel you @emph{must} enter the muddy waters of Gnus, visit the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7350 excellent FAQ, maintained by Justin Sheehy, at:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7351
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7352 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7353 @uref{http://my.gnus.org/FAQ/}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7354 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7355
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7356 See also Gnus home page
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7357 @example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7358 @uref{http://www.gnus.org/}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7359 @end example
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7360
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7361 @node Q6.2.2, Q6.3.1, Q6.2.1, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7362 @unnumberedsubsec Q6.2.2: How do I make Gnus stay within a single frame?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7363
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7364 The toolbar code to start Gnus opens the new frame---and it's a feature
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7365 rather than a bug. If you don't like it, but would still like to click
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7366 on the seemly icon, use the following code:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7367
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7368 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7369 (defun toolbar-news ()
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7370 (gnus))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7371 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7372
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7373 It will redefine the callback function of the icon to just call
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7374 @code{gnus}, without all the fancy frame stuff.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7375
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7376 @unnumberedsec 6.3: FTP Access
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7377
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7378 @node Q6.3.1, Q6.3.2, Q6.2.2, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7379 @unnumberedsubsec Q6.3.1: Can I edit files on other hosts?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7380
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7381 Yes. Of course XEmacs can use any network file system (such as NFS or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7382 Windows file sharing) you have available, and includes some
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7383 optimizations and safety features appropriate to those environments.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7384
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7385 It is also possible to transparently edit files via FTP, ssh, or rsh. That
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7386 is, XEmacs makes a local copy using the transport in the background, and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7387 automatically refreshes the remote original from that copy when you save
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7388 it. XEmacs also is capable of doing file system manipulations like
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7389 creating and removing directories and files. The FTP interface is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7390 provided by the standard @samp{efs} package @ref{Top, EFS, , efs}. The
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7391 ssh/rsh interface is provided by the optional @samp{tramp} package
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7392 @ref{Top, TRAMP, , tramp}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7393
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7394 @node Q6.3.2, Q6.4.1, Q6.3.1, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7395 @unnumberedsubsec Q6.3.2: What is EFS?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7396
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7397 #### Write me.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7398
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7399 @unnumberedsec 6.4: Web Browsing with W3
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7400
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7401 @node Q6.4.1, Q6.4.2, Q6.3.2, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7402 @unnumberedsubsec Q6.4.1: What is W3?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7403
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7404 W3 is an advanced graphical browser written in Emacs lisp that runs on
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7405 XEmacs. It has full support for cascaded style sheets, and more...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7406
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7407 It has a home web page at
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7408 @uref{http://www.cs.indiana.edu/elisp/w3/docs.html}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7409
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7410 @node Q6.4.2, Q6.4.3, Q6.4.1, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7411 @unnumberedsubsec Q6.4.2: How do I run W3 from behind a firewall?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7412
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7413 There is a long, well-written, detailed section in the W3 manual that
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7414 describes how to do this. Look in the section entitled "Firewalls".
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7415
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7416 @node Q6.4.3, , Q6.4.2, Internet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7417 @unnumberedsubsec Q6.4.3: Is it true that W3 supports style sheets and tables?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7418
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7419 Yes, and much more. W3, as distributed with the latest XEmacs is a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7420 full-featured web browser.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7421
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7422 @node Advanced, Other Packages, Internet, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7423 @unnumbered 7 Advanced Customization Using XEmacs Lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7424
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7425 This is part 7 of the XEmacs Frequently Asked Questions list. This
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7426 section is devoted to advanced customization using XEmacs Lisp.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7427
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7428 @menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7429 7.0: Emacs Lisp and @file{init.el}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7430 * Q7.0.1:: What version of Emacs am I running?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7431 * Q7.0.2:: How can I evaluate Emacs-Lisp expressions?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7432 * Q7.0.3:: @code{(setq tab-width 6)} behaves oddly.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7433 * Q7.0.4:: How can I add directories to the @code{load-path}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7434 * Q7.0.5:: How to check if a lisp function is defined?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7435 * Q7.0.6:: Can I force the output of @code{(face-list)} to a buffer?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7436
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7437 7.1: Emacs Lisp Programming Techniques
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7438 * Q7.1.1:: What is the difference in key sequences between XEmacs and GNU Emacs?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7439 * Q7.1.2:: Can I generate "fake" keyboard events?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7440 * Q7.1.3:: Could you explain @code{read-kbd-macro} in more detail?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7441 * Q7.1.4:: What is the performance hit of @code{let}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7442 * Q7.1.5:: What is the recommended use of @code{setq}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7443 * Q7.1.6:: What is the typical misuse of @code{setq}?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7444 * Q7.1.7:: I like the @code{do} form of cl, does it slow things down?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7445 * Q7.1.8:: I like recursion, does it slow things down?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7446 * Q7.1.9:: How do I put a glyph as annotation in a buffer?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7447 * Q7.1.10:: @code{map-extents} won't traverse all of my extents!
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7448 * Q7.1.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7449
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7450 7.2: Mathematics
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7451 * Q7.2.1:: What are bignums, ratios, and bigfloats in Lisp?
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7452 * Q7.2.2:: XEmacs segfaults when I use very big numbers!
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7453 * Q7.2.3:: Bignums are really slow!
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7454 * Q7.2.4:: Equal bignums don't compare as equal! What gives?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7455 @end menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7456
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7457 @unnumberedsec 7.0: Emacs Lisp and @file{init.el}
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7458
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7459 @node Q7.0.1, Q7.0.2, Advanced, Advanced
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7460 @unnumberedsubsec Q7.0.1: What version of Emacs am I running?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7461
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7462 How can @file{init.el} determine which of the family of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7463 Emacsen I am using?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7464
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7465 To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7466 XEmacs 19, XEmacs 20, or Epoch, and use appropriate code, check out the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7467 example given in @file{etc/sample.init.el} (@file{etc/sample.emacs} in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7468 XEmacs versions prior to 21.4). There are other nifty things in there
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7469 as well!
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7470
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7471 For all new code, all you really need to do is:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7472
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7473 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7474 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7475 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7476
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7477 @node Q7.0.2, Q7.0.3, Q7.0.1, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7478 @unnumberedsubsec Q7.0.2: How can I evaluate Emacs-Lisp expressions?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7479
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7480 I know I can evaluate Elisp expressions from @code{*scratch*} buffer
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7481 with @kbd{C-j} after the expression. How do I do it from another
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7482 buffer?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7483
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7484 Press @kbd{M-:} (the default binding of @code{eval-expression}), and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7485 enter the expression to the minibuffer.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7486
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7487 @node Q7.0.3, Q7.0.4, Q7.0.2, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7488 @unnumberedsubsec Q7.0.3: @code{(setq tab-width 6)} behaves oddly.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7489
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7490 If you put @code{(setq tab-width 6)} in your
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7491 @file{init.el} file it does not work! Is there a reason
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7492 for this? If you do it at the EVAL prompt it works fine!! How strange.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7493
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7494 Use @code{setq-default} instead, since @code{tab-width} is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7495 all-buffer-local.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7496
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7497 @node Q7.0.4, Q7.0.5, Q7.0.3, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7498 @unnumberedsubsec Q7.0.4: How can I add directories to the @code{load-path}?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7499
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7500 Here are two ways to do that, one that puts your directories at the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7501 front of the load-path, the other at the end:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7502
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7503 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7504 ;;; Add things at the beginning of the load-path, do not add
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7505 ;;; duplicate directories:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7506 (pushnew "bar" load-path :test 'equal)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7507
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7508 (pushnew "foo" load-path :test 'equal)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7509
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7510 ;;; Add things at the end, unconditionally
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7511 (setq load-path (nconc load-path '("foo" "bar")))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7512 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7513
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
7514 @email{keithh@@nortel.ca, Keith (k.p.) Hanlan} writes:
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7515
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7516 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7517 To add directories using Unix shell metacharacters use
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7518 @file{expand-file-name} like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7519
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7520 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7521 (push (expand-file-name "~keithh/.emacsdir") load-path)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7522 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7523 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7524
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7525 @node Q7.0.5, Q7.0.6, Q7.0.4, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7526 @unnumberedsubsec Q7.0.5: How to check if a lisp function is defined?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7527
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7528 Use the following elisp:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7529
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7530 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7531 (fboundp 'foo)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7532 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7533
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7534 It's almost always a mistake to test @code{emacs-version} or any similar
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7535 variables.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7536
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7537 Instead, use feature-tests, such as @code{featurep}, @code{boundp},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7538 @code{fboundp}, or even simple behavioral tests, eg.:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7539
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7540 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7541 (defvar foo-old-losing-code-p
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7542 (condition-case nil (progn (losing-code t) nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7543 (wrong-number-of-arguments t)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7544 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7545
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7546 There is an incredible amount of broken code out there which could work
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7547 much better more often in more places if it did the above instead of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7548 trying to divine its environment from the value of one variable.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7549
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7550 @node Q7.0.6, Q7.1.1, Q7.0.5, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7551 @unnumberedsubsec Q7.0.6: Can I force the output of @code{(face-list)} to a buffer?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7552
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7553 It would be good having it in a buffer, as the output of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7554 @code{(face-list)} is too wide to fit to a minibuffer.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7555
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7556 Evaluate the expression in the @samp{*scratch*} buffer with point after
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7557 the rightmost paren and typing @kbd{C-j}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7558
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7559 If the minibuffer smallness is the only problem you encounter, you can
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7560 simply press @kbd{C-h l} to get the former minibuffer contents in a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7561 buffer.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7562
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7563 @unnumberedsec 7.1: Emacs Lisp Programming Techniques
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7564
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7565 @node Q7.1.1, Q7.1.2, Q7.0.6, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7566 @unnumberedsubsec Q7.1.1: What is the difference in key sequences between XEmacs and GNU Emacs?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7567
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7568 @email{clerik@@naggum.no, Erik Naggum} writes;
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7569
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7570 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7571 Emacs has a legacy of keyboards that produced characters with modifier
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7572 bits, and therefore map a variety of input systems into this scheme even
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7573 today. XEmacs is instead optimized for X events. This causes an
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7574 incompatibility in the way key sequences are specified, but both Emacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7575 and XEmacs will accept a key sequence as a vector of lists of modifiers
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7576 that ends with a key, e.g., to bind @kbd{M-C-a}, you would say
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7577 @code{[(meta control a)]} in both Emacsen. XEmacs has an abbreviated
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7578 form for a single key, just (meta control a). Emacs has an abbreviated
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7579 form for the Control and the Meta modifiers to string-characters (the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7580 ASCII characters), as in @samp{\M-\C-a}. XEmacs users need to be aware
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7581 that the abbreviated form works only for one-character key sequences,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7582 while Emacs users need to be aware that the string-character is rather
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7583 limited. Specifically, the string-character can accommodate only 256
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7584 different values, 128 of which have the Meta modifier and 128 of which
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7585 have not. In each of these blocks, only 32 characters have the Control
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7586 modifier. Whereas @code{[(meta control A)]} differs from @code{[(meta
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7587 control a)]} because the case differs, @samp{\M-\C-a} and @samp{\M-\C-A}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7588 do not. Programmers are advised to use the full common form, both
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7589 because it is more readable and less error-prone, and because it is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7590 supported by both Emacsen.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7591 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7592
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7593 Another (even safer) way to be sure of the key-sequences is to use the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7594 @code{read-kbd-macro} function, which takes a string like @samp{C-c
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7595 <up>}, and converts it to the internal key representation of the Emacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7596 you use. The function is available both on XEmacs and GNU Emacs.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7597
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7598 @node Q7.1.2, Q7.1.3, Q7.1.1, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7599 @unnumberedsubsec Q7.1.2: Can I generate "fake" keyboard events?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7600
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7601 I wonder if there is an interactive function that can generate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7602 @dfn{fake} keyboard events. This way, I could simply map them inside
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7603 XEmacs.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7604
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7605 This seems to work:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7606
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7607 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7608 (defun cg--generate-char-event (ch)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7609 "Generate an event, as if ch has been typed"
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7610 (dispatch-event (character-to-event ch)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7611
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7612 ;; Backspace and Delete stuff
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7613 (global-set-key [backspace]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7614 (lambda () (interactive) (cg--generate-char-event 127)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7615 (global-set-key [unknown_keysym_0x4]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7616 (lambda () (interactive) (cg--generate-char-event 4)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7617 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7618
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7619 @node Q7.1.3, Q7.1.4, Q7.1.2, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7620 @unnumberedsubsec Q7.1.3: Could you explain @code{read-kbd-macro} in more detail?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7621
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7622 The @code{read-kbd-macro} function returns the internal Emacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7623 representation of a human-readable string (which is its argument).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7624 Thus:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7625
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7626 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7627 (read-kbd-macro "C-c C-a")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7628 @result{} [(control ?c) (control ?a)]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7629
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7630 (read-kbd-macro "C-c C-. <up>")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7631 @result{} [(control ?c) (control ?.) up]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7632 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7633
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7634 In GNU Emacs the same forms will be evaluated to what GNU Emacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7635 understands internally---the sequences @code{"\C-x\C-c"} and @code{[3
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7636 67108910 up]}, respectively.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7637
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7638 The exact @dfn{human-readable} syntax is defined in the docstring of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7639 @code{edmacro-mode}. I'll repeat it here, for completeness.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7640
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7641 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7642 Format of keyboard macros during editing:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7643
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7644 Text is divided into @dfn{words} separated by whitespace. Except for
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7645 the words described below, the characters of each word go directly as
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7646 characters of the macro. The whitespace that separates words is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7647 ignored. Whitespace in the macro must be written explicitly, as in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7648 @kbd{foo @key{SPC} bar @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7649
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7650 @itemize @bullet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7651 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7652 The special words @kbd{RET}, @kbd{SPC}, @kbd{TAB}, @kbd{DEL}, @kbd{LFD},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7653 @kbd{ESC}, and @kbd{NUL} represent special control characters. The
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7654 words must be written in uppercase.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7655
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7656 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7657 A word in angle brackets, e.g., @code{<return>}, @code{<down>}, or
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7658 @code{<f1>}, represents a function key. (Note that in the standard
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7659 configuration, the function key @code{<return>} and the control key
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7660 @key{RET} are synonymous.) You can use angle brackets on the words
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7661 @key{RET}, @key{SPC}, etc., but they are not required there.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7662
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7663 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7664 Keys can be written by their @sc{ascii} code, using a backslash followed
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7665 by up to six octal digits. This is the only way to represent keys with
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7666 codes above \377.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7667
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7668 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7669 One or more prefixes @kbd{M-} (meta), @kbd{C-} (control), @kbd{S-}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7670 (shift), @kbd{A-} (alt), @kbd{H-} (hyper), and @kbd{s-} (super) may
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7671 precede a character or key notation. For function keys, the prefixes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7672 may go inside or outside of the brackets: @code{C-<down>} @equiv{}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7673 @code{<C-down>}. The prefixes may be written in any order: @kbd{M-C-x}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7674 @equiv{} @kbd{C-M-x}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7675
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7676 Prefixes are not allowed on multi-key words, e.g., @kbd{C-abc}, except
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7677 that the Meta prefix is allowed on a sequence of digits and optional
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7678 minus sign: @kbd{M--123} @equiv{} @kbd{M-- M-1 M-2 M-3}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7679
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7680 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7681 The @code{^} notation for control characters also works: @kbd{^M}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7682 @equiv{} @kbd{C-m}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7683
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7684 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7685 Double angle brackets enclose command names: @code{<<next-line>>} is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7686 shorthand for @kbd{M-x next-line @key{RET}}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7687
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7688 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7689 Finally, @code{REM} or @code{;;} causes the rest of the line to be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7690 ignored as a comment.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7691 @end itemize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7692
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7693 Any word may be prefixed by a multiplier in the form of a decimal number
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7694 and @code{*}: @code{3*<right>} @equiv{} @code{<right> <right> <right>},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7695 and @code{10*foo} @equiv{}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7696 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7697 @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7698 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7699 @code{foofoofoofoofoofoofoofoofoofoo}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7700
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7701 Multiple text keys can normally be strung together to form a word, but
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7702 you may need to add whitespace if the word would look like one of the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7703 above notations: @code{; ; ;} is a keyboard macro with three semicolons,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7704 but @code{;;;} is a comment. Likewise, @code{\ 1 2 3} is four keys but
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7705 @code{\123} is a single key written in octal, and @code{< right >} is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7706 seven keys but @code{<right>} is a single function key. When in doubt,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7707 use whitespace.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7708 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7709
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7710 @node Q7.1.4, Q7.1.5, Q7.1.3, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7711 @unnumberedsubsec Q7.1.4: What is the performance hit of @code{let}?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7712
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7713 In most cases, not noticeable. Besides, there's no avoiding
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7714 @code{let}---you have to bind your local variables, after all. Some
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7715 pose a question whether to nest @code{let}s, or use one @code{let} per
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7716 function. I think because of clarity and maintenance (and possible
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7717 future implementation), @code{let}-s should be used (nested) in a way to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7718 provide the clearest code.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7719
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7720 @node Q7.1.5, Q7.1.6, Q7.1.4, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7721 @unnumberedsubsec Q7.1.5: What is the recommended use of @code{setq}?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7722
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7723 @itemize @bullet
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7724 @item Global variables
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7725
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7726 You will typically @code{defvar} your global variable to a default
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7727 value, and use @code{setq} to set it later.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7728
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7729 It is never a good practice to @code{setq} user variables (like
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7730 @code{case-fold-search}, etc.), as it ignores the user's choice
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7731 unconditionally. Note that @code{defvar} doesn't change the value of a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7732 variable if it was bound previously. If you wish to change a
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7733 user-variable temporarily, use @code{let}:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7734
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7735 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7736 (let ((case-fold-search nil))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7737 ... ; code with searches that must be case-sensitive
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7738 ...)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7739 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7740
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7741 You will notice the user-variables by their docstrings beginning with an
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7742 asterisk (a convention).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7743
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7744 @item Local variables
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7745
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7746 Bind them with @code{let}, which will unbind them (or restore their
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7747 previous value, if they were bound) after exiting from the @code{let}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7748 form. Change the value of local variables with @code{setq} or whatever
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7749 you like (e.g. @code{incf}, @code{setf} and such). The @code{let} form
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7750 can even return one of its local variables.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7751
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7752 Typical usage:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7753
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7754 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7755 ;; iterate through the elements of the list returned by
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7756 ;; `hairy-function-that-returns-list'
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7757 (let ((l (hairy-function-that-returns-list)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7758 (while l
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7759 ... do something with (car l) ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7760 (setq l (cdr l))))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7761 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7762
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7763 Another typical usage includes building a value simply to work with it.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7764
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7765 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7766 ;; Build the mode keymap out of the key-translation-alist
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7767 (let ((inbox (file-truename (expand-file-name box)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7768 (i 0))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7769 ... code dealing with inbox ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7770 inbox)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7771 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7772
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7773 This piece of code uses the local variable @code{inbox}, which becomes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7774 unbound (or regains old value) after exiting the form. The form also
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7775 returns the value of @code{inbox}, which can be reused, for instance:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7776
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7777 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7778 (setq foo-processed-inbox
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7779 (let .....))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7780 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7781 @end itemize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7782
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7783 @node Q7.1.6, Q7.1.7, Q7.1.5, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7784 @unnumberedsubsec Q7.1.6: What is the typical misuse of @code{setq}?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7785
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7786 A typical misuse is probably @code{setq}ing a variable that was meant to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7787 be local. Such a variable will remain bound forever, never to be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7788 garbage-collected. For example, the code doing:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7789
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7790 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7791 (defun my-function (whatever)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7792 (setq a nil)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7793 ... build a large list ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7794 ... and exit ...)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7795 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7796
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7797 does a bad thing, as @code{a} will keep consuming memory, never to be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7798 unbound. The correct thing is to do it like this:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7799
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7800 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7801 (defun my-function (whatever)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7802 (let (a) ; default initialization is to nil
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7803 ... build a large list ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7804 ... and exit, unbinding `a' in the process ...)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7805 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7806
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7807 Not only is this prettier syntactically, but it makes it possible for
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7808 Emacs to garbage-collect the objects which @code{a} used to reference.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7809
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7810 Note that even global variables should not be @code{setq}ed without
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7811 @code{defvar}ing them first, because the byte-compiler issues warnings.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7812 The reason for the warning is the following:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7813
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7814 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7815 (defun flurgoze nil) ; ok, global internal variable
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7816 ...
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7817
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7818 (setq flurghoze t) ; ops! a typo, but semantically correct.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7819 ; however, the byte-compiler warns.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7820
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7821 While compiling toplevel forms:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7822 ** assignment to free variable flurghoze
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7823 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7824
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7825 @node Q7.1.7, Q7.1.8, Q7.1.6, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7826 @unnumberedsubsec Q7.1.7: I like the @code{do} form of cl, does it slow things down?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7827
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7828 It shouldn't. Here is what Dave Gillespie has to say about cl.el
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7829 performance:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7830
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7831 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7832 Many of the advanced features of this package, such as @code{defun*},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7833 @code{loop}, and @code{setf}, are implemented as Lisp macros. In
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7834 byte-compiled code, these complex notations will be expanded into
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7835 equivalent Lisp code which is simple and efficient. For example, the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7836 forms
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7837
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7838 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7839 (incf i n)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7840 (push x (car p))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7841 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7842
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7843 are expanded at compile-time to the Lisp forms
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7844
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7845 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7846 (setq i (+ i n))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7847 (setcar p (cons x (car p)))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7848 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7849
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7850 which are the most efficient ways of doing these respective operations
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7851 in Lisp. Thus, there is no performance penalty for using the more
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7852 readable @code{incf} and @code{push} forms in your compiled code.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7853
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7854 @emph{Interpreted} code, on the other hand, must expand these macros
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7855 every time they are executed. For this reason it is strongly
4905
755ae5b97edb Change "special form" to "special operator" in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4759
diff changeset
7856 recommended that code making heavy use of macros be compiled. A loop
755ae5b97edb Change "special form" to "special operator" in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4759
diff changeset
7857 using @code{incf} a hundred times will execute considerably faster if
755ae5b97edb Change "special form" to "special operator" in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4759
diff changeset
7858 compiled, and will also garbage-collect less because the macro expansion
755ae5b97edb Change "special form" to "special operator" in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4759
diff changeset
7859 will not have to be generated, used, and thrown away a hundred times.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7860
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7861 You can find out how a macro expands by using the @code{cl-prettyexpand}
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7862 function.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7863 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7864
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7865 @node Q7.1.8, Q7.1.9, Q7.1.7, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7866 @unnumberedsubsec Q7.1.8: I like recursion, does it slow things down?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7867
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7868 Yes. The Emacs byte-compiler cannot do much to optimize recursion. But
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7869 think well whether this is a real concern in Emacs. Much of the Emacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7870 slowness comes from internal mechanisms such as redisplay, or from the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7871 fact that it is an interpreter.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7872
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7873 Please try not to make your code much uglier to gain a very small speed
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7874 gain. It's not usually worth it.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7875
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7876 @node Q7.1.9, Q7.1.10, Q7.1.8, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7877 @unnumberedsubsec Q7.1.9: How do I put a glyph as annotation in a buffer?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7878
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7879 Here is a solution that will insert the glyph annotation at the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7880 beginning of buffer:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7881
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7882 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7883 (make-annotation (make-glyph '([FORMAT :file FILE]
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7884 [string :data "fallback-text"]))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7885 (point-min)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7886 'text
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7887 (current-buffer))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7888 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7889
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7890 Replace @samp{FORMAT} with an unquoted symbol representing the format of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7891 the image (e.g. @code{xpm}, @code{xbm}, @code{gif}, @code{jpeg}, etc.)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7892 Instead of @samp{FILE}, use the image file name
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7893 (e.g.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7894 @iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7895 @*
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7896 @end iftex
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7897 @file{/usr/local/lib/xemacs-21.4/etc/recycle.xpm}).
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7898
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7899 You can turn this to a function (that optionally prompts you for a file
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7900 name), and inserts the glyph at @code{(point)} instead of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7901 @code{(point-min)}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7902
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7903 @node Q7.1.10, Q7.1.11, Q7.1.9, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7904 @unnumberedsubsec Q7.1.10: @code{map-extents} won't traverse all of my extents!
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7905
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7906 I tried to use @code{map-extents} to do an operation on all the extents
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7907 in a region. However, it seems to quit after processing a random number
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7908 of extents. Is it buggy?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7909
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7910 No. The documentation of @code{map-extents} states that it will iterate
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7911 across the extents as long as @var{function} returns @code{nil}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7912 Unexperienced programmers often forget to return @code{nil} explicitly,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7913 which results in buggy code. For instance, the following code is
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7914 supposed to delete all the extents in a buffer, and issue as many
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7915 @samp{fubar!} messages.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7916
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7917 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7918 (map-extents (lambda (ext ignore)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7919 (delete-extent ext)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7920 (message "fubar!")))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7921 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7922
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7923 Instead, it will delete only the first extent, and stop right there --
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7924 because @code{message} will return a non-nil value. The correct code
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7925 is:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7926
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7927 @lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7928 (map-extents (lambda (ext ignore)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7929 (delete-extent ext)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7930 (message "fubar!")
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7931 nil))
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7932 @end lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7933
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7934 @node Q7.1.11, Q7.2.1, Q7.1.10, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7935 @unnumberedsubsec Q7.1.11: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7936 @c New
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7937
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7938 @email{hniksic@@xemacs.org, Hrvoje Niksic} writes:
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7939 @quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7940 Under XEmacs 20.4 and later you can use @kbd{M-x profile-key-sequence},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7941 press a key (say @key{RET} in the Gnus Group buffer), and get the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7942 results using @kbd{M-x profile-results}. It should give you an idea of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7943 where the time is being spent.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7944 @end quotation
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7945
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7946 @unnumberedsec 7.2: Mathematics
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7947
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7948 @node Q7.2.1, Q7.2.2, Q7.1.11, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7949 @unnumberedsubsec Q7.2.1: What are bignums, ratios, and bigfloats in Lisp?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7950
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7951 Thanks to @email{james@@xemacs.org, Jerry James}, XEmacs 21.5.18 and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7952 later can use the capabilities of multiple-precision libraries that may
5739
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7953 be available for your platform. The GNU Multiple Precision (GMP),
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7954 Multiple Precision Integers and Rationals (MPIR), and BSD Multiple
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7955 Precision (MP) libraries are supported. GMP and MPIR give you
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7956 @dfn{bignums} (arbitrary precision integers), @dfn{ratios} (arbitrary
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7957 precision fractions), and @dfn{bigfloats} (arbitrary precision floating
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7958 point numbers). GMP and MPIR are better-supported by XEmacs. BSD MP
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7959 support does not include ratios or bigfloats.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7960
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7961 In most cases, bignum support should be transparent to users and Lisp
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7962 programmers. A bignum-enabled XEmacs will automatically convert from
5739
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7963 fixnums to bignums and back in pure integer arithmetic, and for GMP and
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7964 MPIR, from floats to bigfloats. (Bigfloats must be explicitly coerced
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
7965 to other types, even if they are exactly representable by less precise
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7966 types.) The Lisp reader and printer have been enhanced to handle
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7967 bignums, as have the mathematical functions. Rationals (fixnums,
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7968 bignums, and ratios) are printed using the @samp{%d}, @samp{%o},
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7969 @samp{%x}, and @samp{%u} format conversions. The read syntax for ratios
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7970 is @samp{3/5}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7971
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7972 User-visible changes in behavior include (in probable order of annoyance)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7973
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7974 @itemize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7975 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7976 Arithmetic can cause a segfault, depending on your MP library
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
7977 @ref{Q7.2.2, XEmacs segfaults when I use very big numbers!}.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7978
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7979 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7980 Terminology is not Common-Lisp-conforming. For example, ``integer'' for
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7981 Emacs Lisp means what Common Lisp calls ``fixnum''. This issue is being
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7982 investigated, but the use of ``integer'' for fixnum is pervasive and may
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7983 cause backward-compatibility and GNU-Emacs-compatibility problems.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7984
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7985 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7986 Many operations that used to cause a range error now succeed, with
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7987 intermediate results and return values coerced to bignums as needed.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7988
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7989 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7990 An atom with ratio read syntax now returns a number, not a symbol.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7991
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7992 @item
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7993 The @samp{%u} format conversion will now give an error if its argument
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7994 is negative. (Without MP, it prints a number which Lisp can't read.)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7995 @end itemize
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7996
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7997 @emph{Surgeon General's Warning}: The automatic conversions cannot be
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7998 disabled at runtime. New functions have been added which produce
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
7999 ratios, so there should be few surprises with type conflicts, but they
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8000 can't be ruled out. ``Arbitrary'' precision means precisely what it
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8001 says. If you work with extremely large numbers, your machine may
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8002 arbitrarily decide to hand you an unpleasant surprise rather than a
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8003 bignum @ref{Q7.2.2, XEmacs segfaults when I use very big numbers!}.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8004
5739
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8005 To configure with GMP, add @samp{--enable-bignum=gmp} to your invocation
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8006 of @file{configure}. For MPIR, use @samp{--enable-bignum=mpir}. For
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8007 BSD MP, use @samp{--enable-bignum=mp}.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8008
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8009
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8010 @node Q7.2.2, Q7.2.3, Q7.2.1, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8011 @unnumberedsubsec Q7.2.2: XEmacs segfaults when I use very big numbers!
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8012
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8013 GMP by default allocates temporaries on the stack. If you run out of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8014 stack space, you're dead; there is no way that we know of to reliably
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8015 detect this condition, because @samp{alloca} is typically implemented to
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8016 be @emph{fast} rather than robust. If you just need a little more
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8017 oomph, use a bigger stack (@emph{e.g.}, the @file{ulimit -s} command in
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8018 bash(1)). If you want robustness at the cost of speed, configure GMP
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8019 with @samp{--disable-alloca} and rebuild the GMP library.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8020
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8021 We do not know whether BSD MP uses @samp{alloca} or not. Please send
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8022 any information you have as a bug report (@kbd{M-x report-xemacs-bug
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8023 @key{RET}}), which will give us platform information. (We do know that
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8024 BSD MP implementations vary across vendors, but how much, we do not know
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8025 yet.)
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8026
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8027
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8028 @node Q7.2.3, Q7.2.4, Q7.2.2, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8029 @unnumberedsubsec Q7.2.3: Bignums are really slow!
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8030
5739
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8031 Many Unix and Linux distributions compile all packages for a generic
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8032 version of the supported CPU, and this is costly. An optimized version
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8033 can improve responiveness dramatically; see
a2912073be85 Support bignums with MPIR. Add documentation on the bignum, ratio,
Jerry James <james@xemacs.org>
parents: 5551
diff changeset
8034 @uref{http://gmplib.org/gmpbench.html}.)
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8035
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8036
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8037 @node Q7.2.4, , Q7.2.3, Advanced
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8038 @unnumberedsubsec Q7.2.4: Equal bignums don't compare as equal! What gives?
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8039
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8040 Ah, Grasshopper, I see you are using @code{(eq x y)}. The Bodhisattva
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8041 CLTL2 warned of the illusion that equal numbers would be @samp{eq}!
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8042 Meditate on the deeper truths of @samp{eql}, in which numbers of the same
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8043 type which have equal values compare equal, and @samp{=}, which does any
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8044 necessary type coercions before comparing for equality.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8045
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8046 Yeah, yeah, it has always worked for integer types, because fixnums and
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8047 characters have an immediate representation. Sorry about that;
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8048 arbitrary precision obviously requires consing new objects because the
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8049 objects are ``large'' and of variable size, and the definition of
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8050 @samp{eq} does not permit different objects to compare as equal.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8051
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8052 @node Other Packages, Current Events, Advanced, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8053 @unnumbered 8 Other External Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8054
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8055 This is part 8 of the XEmacs Frequently Asked Questions list. This
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8056 section is devoted to miscellaneous external packages not covered
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8057 elsewhere in XEmacs.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8058
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8059 @menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8060 8.0: TeX
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8061 * Q8.0.1:: Is there something better than LaTeX mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8062 * Q8.0.2:: What is AUCTeX? Where do you get it?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8063 * Q8.0.3:: Problems installing AUCTeX.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8064 * Q8.0.4:: How do I turn off current chapter from AUCTeX modeline?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8065
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8066 8.1: Other Unbundled Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8067 * Q8.1.1:: Is there a reason for an Emacs package not to be included in XEmacs?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8068 * Q8.1.2:: Are there any Emacs Lisp Spreadsheets?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8069 * Q8.1.3:: Is there a MatLab mode?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8070
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8071 8.2: Environments Built Around XEmacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8072 * Q8.2.1:: What are SPARCworks, EOS, and WorkShop?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8073 * Q8.2.2:: How do I start the Sun Workshop support in XEmacs 21?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8074 * Q8.2.3:: What is/was Energize?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8075 * Q8.2.4:: What is Infodock?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8076 @end menu
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8077
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8078 @unnumberedsec 8.0: TeX
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8079
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8080 @node Q8.0.1, Q8.0.2, Other Packages, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8081 @unnumberedsubsec Q8.0.1: Is there something better than LaTeX mode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8082
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8083 @email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8084
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8085 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8086 The standard TeX modes leave much to be desired, and are somewhat
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8087 leniently maintained. Serious TeX users use AUCTeX (@pxref{Q8.0.2,
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8088 What is AUCTeX? Where do you get it?}).
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8089 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8090
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8091 @node Q8.0.2, Q8.0.3, Q8.0.1, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8092 @unnumberedsubsec Q8.0.2: What is AUCTeX? Where do you get it?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8093
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8094 AUCTeX is a complex and sophisticated editing package dedicated to TeX
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8095 and related text formatting languages, including LaTeX and Texinfo.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8096 It provides support for running TeX on a file or part of a file,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8097 include files, and of course shortcuts for entering common TeX macros,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8098 LaTeX environments, etc, and for fontlock.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8099
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8100 AUCTeX is a standard package provided by XEmacs. You can get it as
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8101 usual through the @kbd{M-x list-packages} interface. It is also
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8102 included in the (non-Mule) SUMO package. The AUCTeX XEmacs package is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8103 maintained by Uwe Brauer <GET MAIL ADDRESS>.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8104
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8105 AUCTeX is extremely complicated, and its developers primarily
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8106 use GNU Emacs. Not all features of the bleeding edge version
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8107 of AUCTeX are immediately ported to XEmacs; if you need
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8108 these, you may be better off getting the most recent versions
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8109 from the GNU AUCTeX project on @uref{http://savannah.gnu.org}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8110
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8111 @node Q8.0.3, Q8.0.4, Q8.0.2, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8112 @unnumberedsubsec Q8.0.3: Problems installing AUCTeX.
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8113
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8114 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8115
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8116 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8117 AUCTeX works fine on both stock Emacs and XEmacs has been doing so for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8118 a very very long time. This is mostly due to the work of
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8119 @email{abraham@@dina.kvl.dk, Per Abrahamsen} (clap clap) in particular his @file{easymenu}
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8120 package. Which leads to what is probably the problem...
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8121 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8122
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8123 Most problems with AUCTeX are one of two things:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8124
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8125 @itemize @bullet
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8126 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8127 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8128 match.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8129
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8130 Fix: make sure you configure AUCTeX properly @strong{before} installing.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8131
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8132 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8133 You have an old version of easymenu.el in your path.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8134
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8135 Fix: use @code{locate-library} and remove old versions to make sure it
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8136 @strong{only} finds the one that came with XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8137 @end itemize
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8138
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8139 @node Q8.0.4, Q8.1.1, Q8.0.3, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8140 @unnumberedsubsec Q8.0.4: How do I turn off current chapter from AUCTeX modeline?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8141
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8142 With AUCTeX, fast typing is hard because the current chapter, section
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8143 etc. are given in the modeline. How can I turn this off?
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8144
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8145 It's not AUCTeX, it comes from @code{func-menu} in @file{func-menu.el}.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8146
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8147 @c Add this code to your @file{init.el} to turn it off:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8148 @c
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8149 @c @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8150 @c (setq fume-display-in-modeline-p nil)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8151 @c @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8152 @c
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8153 @c Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8154 @c mode:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8155 @c
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8156 @c @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8157 @c (add-hook 'TeX-mode-hook
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8158 @c '(lambda () (setq fume-display-in-modeline-p nil)))
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8159 @c @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8160 @c
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8161 @email{dhughes@@origin-at.co.uk, David Hughes} writes:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8162
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8163 @quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8164 Try this; you'll still get the function name displayed in the modeline,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8165 but it won't attempt to keep track when you modify the file. To refresh
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8166 when it gets out of synch, you simply need click on the @samp{Rescan
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8167 Buffer} option in the function-menu.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8168
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8169 @lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8170 (setq-default fume-auto-rescan-buffer-p nil)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8171 @end lisp
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8172 @end quotation
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8173
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8174 @unnumberedsec 8.1: Other Unbundled Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8175
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8176 @node Q8.1.1, Q8.1.2, Q8.0.4, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8177 @unnumberedsubsec Q8.1.1: Is there a reason for an Emacs package not to be included in XEmacs?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8178
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8179 The reason for an Emacs package not to be included in XEmacs is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8180 usually one or more of the following:
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8181
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8182 @enumerate
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8183 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8184 The package has not been ported to XEmacs. This will typically happen
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8185 when it uses GNU-Emacs-specific features, which make it fail under
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8186 XEmacs.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8187
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8188 Porting a package to XEmacs can range from a trivial amount of change to
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8189 a partial or full rewrite. Fortunately, the authors of modern packages
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8190 usually choose to support both Emacsen themselves.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8191
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8192 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8193 The package has been decided not to be appropriate for XEmacs. It may
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8194 have an equivalent or better replacement within XEmacs, in which case
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8195 the developers may choose not to burden themselves with supporting an
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8196 additional package.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8197
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8198 Each package bundled with XEmacs means more work for the maintainers,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8199 whether they want it or not. If you are ready to take over the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8200 maintenance responsibilities for the package you port, be sure to say
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8201 so---we will more likely include it.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8202
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8203 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8204 The package simply hasn't been noted by the XEmacs development. If
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8205 that's the case, the messages like yours are very useful for attracting
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8206 our attention.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8207
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8208 @item
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8209 The package was noted by the developers, but they simply haven't yet
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8210 gotten around to including/porting it. Wait for the next release or,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8211 even better, offer your help. It will be gladly accepted and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8212 appreciated.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8213 @end enumerate
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8214
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8215 @node Q8.1.2, Q8.1.3, Q8.1.1, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8216 @unnumberedsubsec Q8.1.2: Are there any Emacs Lisp Spreadsheets?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8217
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8218 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8219 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8220 @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8221 @end iftex
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8222 @uref{http://acs.ist.psu.edu/dismal/dismal.html}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8223
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8224 @node Q8.1.3, Q8.2.1, Q8.1.2, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8225 @unnumberedsubsec Q8.1.3: Is there a MatLab mode?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8226
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8227 Yes, a matlab mode and other items are available at the
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8228 @uref{http://www.mathworks.com/matlabcentral/files/104/matlab.el}.
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8229
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8230 @unnumberedsec 8.2: Environments Built Around XEmacs
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8231
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8232 @node Q8.2.1, Q8.2.2, Q8.1.3, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8233 @unnumberedsubsec Q8.2.1: What are SPARCworks, EOS, and WorkShop?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8234
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8235 SPARCworks was a development environment from Sun (circa 1993-1996)
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8236 and consisted of compilers (C, C++, FORTRAN 77, Fortran 90, Ada, and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8237 Pascal), a debugger, and other tools such as TeamWare (for
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8238 configuration management), MakeTool, etc.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8239
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8240 EOS is the integration of XEmacs with the SPARCworks debugger. It
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8241 allows one to use an XEmacs frame to view code (complete with
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8242 fontification, etc.), set breakpoints, print variables, etc., while
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8243 using the SPARCworks debugger.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8244
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8245 EOS stands for "Era on SPARCworks"; Era stood for "Emacs Rewritten
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8246 Again" and was the name used by Sun for its modified version of Lucid
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8247 Emacs (later XEmacs) in the early-mid 90's. This is documented in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8248 more detail in the history section of the XEmacs About page.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8249
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8250 EOS was replaced around 1996 with a newer graphical development
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8251 environment called Sun WorkShop. The current status of this is
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8252 unknown.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8253
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8254 @node Q8.2.2, Q8.2.3, Q8.2.1, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8255 @unnumberedsubsec Q8.2.2: How do I start the Sun Workshop support in XEmacs 21?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8256
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8257 Add the switch ---with-workshop to the configure command when building
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8258 XEmacs and put the following in one of your startup files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8259 (e.g. site-start.el or .emacs):
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8261 @lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8262 (when (featurep 'tooltalk)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8263 (load "tooltalk-macros")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8264 (load "tooltalk-util")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8265 (load "tooltalk-init"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8266 (when (featurep 'sparcworks)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8267 (load "sunpro-init")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8268 (load "ring")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8269 (load "comint")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8270 (load "annotations")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8271 (sunpro-startup))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8272 @end lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8273
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8274 If you are not using the latest Workshop (5.0) you have to apply the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8275 following patch:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8276
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8277 @format
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8278 --- /opt/SUNWspro/lib/eserve.el.ORIG Fri May 14 15:23:26 1999
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8279 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8280 @@@@ -42,7 +42,7 @@@@
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8281 (defvar running-xemacs nil "t if we're running XEmacs")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8282 (defvar running-emacs nil "t if we're running GNU Emacs 19")
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
8283
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8284 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8285 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8286 (setq running-xemacs t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8287 (setq running-emacs t))
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 434
diff changeset
8288 @end format
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8289
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8290 @node Q8.2.3, Q8.2.4, Q8.2.2, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8291 @unnumberedsubsec Q8.2.3: What is/was Energize?
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8292
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8293 The "Energize Programming System" was a C and C++ development environment
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8294 sold by Lucid, Inc. It was the reason why Lucid Emacs, now XEmacs, was
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8295 created in the first place. Unfortunately, Lucid went out of business in
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8296 1994. The rights to sell it in Japan were purchased by INS
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8297 Engineering (which briefly employed Stig Hackvan aka Jonathan
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8298 Stigelman to work on Japanese support for XEmacs, in late 1994 and
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8299 early 1995) and Tartan bought the rights to sell it in the rest of the
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8300 world. However, INS is not selling Energize at this point and may or
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8301 may not have ever done so; Tartan certainly never did.
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8302
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8303 @node Q8.2.4, , Q8.2.3, Other Packages
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8304 @unnumberedsubsec Q8.2.4: What is Infodock?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8305
660
cd653494e774 [xemacs-hg @ 2001-09-15 14:26:30 by adrian]
adrian
parents: 658
diff changeset
8306 @uref{http://sourceforge.net/projects/infodock/, InfoDock} is an
cd653494e774 [xemacs-hg @ 2001-09-15 14:26:30 by adrian]
adrian
parents: 658
diff changeset
8307 integrated productivity toolset, mainly aimed at technical people,
cd653494e774 [xemacs-hg @ 2001-09-15 14:26:30 by adrian]
adrian
parents: 658
diff changeset
8308 hosted at SourceForge.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8309
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8310 InfoDock is built atop the XEmacs variant of GNU Emacs and so has all of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8311 the power of Emacs, but with an easier to use and more comprehensive
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8312 menu-based user interface. The bottom portion of this text describes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8313 how it differs from XEmacs and GNU Emacs from the Free Software
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8314 Foundation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8315
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8316 InfoDock is aimed at people who want a free, turn-key productivity
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8317 environment. Although InfoDock is customizable, it is not intended for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8318 people who like basic versions of Emacs which need to be customized
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8319 extensively for local use; standard Emacs distributions are better for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8320 such uses. InfoDock is for those people who want a complete,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8321 pre-customized environment in one package, which they need not touch
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8322 more than once or twice a year to update to new revisions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8323
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8324 InfoDock is pre-built for SPARC SunOS/Solaris systems, PA-RISC HP-UX,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8325 and Intel Linux systems. It is intended for use on a color display,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8326 although most features will work on monochrome monitors. Simply unpack
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8327 InfoDock according to the instructions in the ID-INSTALL file and you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8328 are ready to run.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8329
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8330 The InfoDock Manual is concise, yet sufficient as a user guide for users
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8331 who have never used an Emacs-type editor before. For users who are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8332 already familiar with Emacs, it supplements the information in the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8333 Emacs Manual.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8334
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8335 InfoDock menus are much more extensive and more mature than standard
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8336 Emacs menus. Each menu offers a @samp{Manual} item which displays
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8337 documentation associated with the menu's functions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8338
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8339 @noindent
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8340 Four types of menubars are provided:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8341 @enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8342 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8343 An extensive menubar providing access to global InfoDock commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8344 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8345 Mode-specific menubars tailored to the current major mode.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8346 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8347 A simple menubar for basic editing to help novices get started with InfoDock.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8348 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8349 The standard XEmacs menubar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8350 @end enumerate
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8351
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8352 Most modes also include mode-specific popup menus. Additionally, region and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8353 rectangle popup menus are included.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8354
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8355 @samp{Hyperbole}, the everyday information manager, is a core part of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8356 InfoDock. This provides context-sensitive mouse keys, a rolodex-type
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8357 contact manager, programmable hypertext buttons, and an autonumbered
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8358 outliner with embedded hyperlink anchors.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8359
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8360 The @samp{OO-Browser}, a multi-language object-oriented code browser, is a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8361 standard part of InfoDock.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8362
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8363 InfoDock saves a more extensive set of user options than other Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8364 versions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8366 InfoDock inserts a useful file header in many file types, showing the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8367 author, summary, and last modification time of each file. A summary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8368 program can then be used to summarize all of the files in a directory,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8369 for easy MANIFEST file creation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8370
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8371 Your working set of buffers is automatically saved and restored (if you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8372 answer yes to a prompt) between InfoDock sessions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8373
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8374 Refined color choices for code highlighting are provided for both dark and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8375 light background display frames.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8376
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8377 The @kbd{C-z} key prefix performs frame-based commands which parallel the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8378 @kbd{C-x} key prefix for window-based commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8379
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8380 The Smart Menu system is included for producing command menus on dumb
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8381 terminals.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8382
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8383 Lisp libraries are better categorized according to function.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8384
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8385 Extensions and improvements to many areas of Emacs are included, such as:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8386 paragraph filling, mail reading with Rmail, shell handling, outlining, code
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8387 highlighting and browsing, and man page browsing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8388
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8389 InfoDock questions, answers and discussion should go to the mail list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8390 @iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8391 @*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8392 @end iftex
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8393 @email{infodock@@infodock.com}. Use
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8394 @email{infodock-request@@infodock.com} to be added or removed from the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8395 list. Always include your InfoDock version number when sending help
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8396 requests.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8397
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8398 @node Current Events, Legacy Versions, Other Packages, Top
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8399 @unnumbered 9 What the Future Holds
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8400
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8401 This is part 9 of the XEmacs Frequently Asked Questions list. This
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8402 section will change frequently, and (in theory) should contain any
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8403 interesting items that have transpired recently. (But in practice it's
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8404 not getting updated like this.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8405
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8406 This section also contains descriptions of the new features in all the
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8407 recent releases of XEmacs. For the most part, the information below is
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8408 a synopsis of the more complete information that can be found in the
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8409 file @file{NEWS} in the @file{etc} directory of the XEmacs distribution.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8410 You can view this file in XEmacs using @kbd{C-h n} or the @samp{Help}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8411 menu.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8412
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8413 Information on older versions of XEmacs can be find in @file{ONEWS} in
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8414 the same directory, or @file{OONEWS} for really old versions.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8415
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8416 @menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8417 9.0: Changes
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8418 * Q9.0.1:: What new features will be in XEmacs soon?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8419 * Q9.0.2:: What's new in XEmacs 21.4?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8420 * Q9.0.3:: What's new in XEmacs 21.1?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8421 * Q9.0.4:: What's new in XEmacs 20.4?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8422 * Q9.0.5:: What's new in XEmacs 20.3?
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8423 * Q9.0.6:: What's new in XEmacs 20.2?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8424 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8425
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8426 @unnumberedsec 9.0: Changes
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8427
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8428 @node Q9.0.1, Q9.0.2, Current Events, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8429 @unnumberedsubsec Q9.0.1: What new features will be in XEmacs soon?
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8430
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8431 #### Write me.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8432
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8433 @node Q9.0.2, Q9.0.3, Q9.0.1, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8434 @unnumberedsubsec Q9.0.2: What's new in XEmacs 21.4?
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8435
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8436 21.4 was the "stable" version of the 21.2 series, which was considered
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8437 "experimental" throughout its life; thus there were no "official"
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8438 releases at all. In essence, XEmacs is now following the "alternating"
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8439 scheme of Linux, where at any point there are at least two different
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8440 development branches, one "stable" and one "experimental". Periodic
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8441 releases happen in both branches, but those in the experimental branch
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8442 are not tested as well, and there's no guarantee they will work at all.
4311
ee41a739fba3 Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3404
diff changeset
8443 The experimental branch is open to any and all code that's acceptable
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8444 to the developers; the stable branch, however, is in general limited
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8445 only to bug fixes, and all contributions are carefully reviewed to make
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8446 sure they will increase and not decrease stability.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8447
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8448 21.3 never existed at all; it was decided to follow the Linux scheme
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8449 exactly, where odd-numbered series are experimental and even-numbered
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8450 ones stable.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8451
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8452 The following lists summarizes the essential changes made in this
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8453 version. For a fuller list, see the @file{NEWS} in the @file{etc}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8454 directory of the XEmacs distribution, or use @kbd{C-h n} or the
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8455 @samp{Help} menu to view this file inside of XEmacs.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8456
676
5a9f0fc2b3dc [xemacs-hg @ 2001-11-27 18:54:56 by adrian]
adrian
parents: 662
diff changeset
8457 @unnumberedsubsubsec User-visible changes in XEmacs 21.4
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8458
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8459 @itemize @bullet
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8460
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8461 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8462 The delete key now deletes forward by default.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8463 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8464 Shifted motion keys now select text by default.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8465 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8466 You can now build XEmacs with support for GTK+ widget set.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8467 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8468 ~/.xemacs/init.el is now the preferred location for the init
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8469 file. (XEmacs now supports a `~/.xemacs/init.el' startup file. Custom
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8470 file will move to ~/.xemacs/custom.el.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8471 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8472 Much-improved sample init.el, showing how to use many useful features.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8473 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8474 XEmacs support for menu accelerators has been much improved.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8475 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8476 Default menubar improvements. (Default menubar has many new commands and
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8477 better organization. The font-menu is now available under MS Windows.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8478 @item
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8479 Dialog box improvements, including a real file dialog box. (XEmacs now
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8480 has a proper file dialog box under MS Windows (and GTK)! The old
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8481 clunky file dialog box is improved. Keyboard traversal now works
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8482 correctly in MS Windows dialog boxes. There is a Search dialog box
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8483 available from @samp{Edit->Find...})
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8484 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8485 New buffer tabs.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8486 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8487 There is a new MS Windows installer, netinstall, ported from Cygwin.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8488 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8489 The subprocess quote-handling mechanism under Windows is much improved.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8490 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8491 Printing support now available under MS Windows.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8492 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8493 Selection improvements. (Kill and yank now interact with the clipboard under Windows. MS Windows support for selection is now much more robust. Motif selection support is now more correct (but slower).)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8494 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8495 Mail spool locking now works correctly.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8496 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8497 International support changes. (The default coding-priority-list is now
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8498 safer. International keysyms are now supported under X. MS Windows
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8499 1251 code page now supported. Czech, Thai, Cyrillic-KOI8, Vietnamese,
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8500 Ethiopic now supported. Proper support for words in Latin 3 and Latin
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8501 4.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8502 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8503 Help buffers contain hyperlinks, and other changes.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8504 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8505 The modeline's text is now scrollable.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8506 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8507 The mouse wheel under MS Windows now functions correctly.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8508 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8509 Interactive searching and matching case improvements. (Incremental search will now highlight all visible matches. Interactive searches always respect uppercase characters.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8510 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8511 Rectangle functions rewritten to avoid inserting extra spaces.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8512 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8513 New command `kill-entire-line' that always kills the entire line.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8514 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8515 Default values correctly stored in minibuffer histories.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8516 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8517 You can now create "indirect buffers", like in GNU Emacs.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8518 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8519 Pixel-based scrolling has been implemented.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8520 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8521 Operation progress can be displayed using graphical widgets.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8522 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8523 User names following a tilde can now be completed at file name prompts.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8524 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8525 XEmacs can now play sound using Enlightenment Sound Daemon (ESD).
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8526 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8527 X-Face support is now available under MS Windows.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8528 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8529 The PostgreSQL Relational Database Management System is now supported.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8530 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8531 Indentation no longer indents comments that begin at column zero.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8532 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8533 Face and variable settings can have comments in Customize.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8534 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8535 New locations for early package hierarchies.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8536 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8537 The `auto-save' library has been greatly improved.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8538 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8539 New variable `mswindows-alt-by-itself-activates-menu'.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8540 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8541 Other init-file-related changes. (Init file in your home directory may be called `.emacs.el'. New command-line switches -user-init-file and -user-init-directory.)
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8542 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8543 Etags changes. See @file{NEWS} for full details.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8544 @end itemize
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8545
676
5a9f0fc2b3dc [xemacs-hg @ 2001-11-27 18:54:56 by adrian]
adrian
parents: 662
diff changeset
8546 @unnumberedsubsubsec Lisp and internal changes in XEmacs 21.4
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8547
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8548 Not yet written.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8549
661
78df880cb9f8 [xemacs-hg @ 2001-09-16 10:09:54 by adrian]
adrian
parents: 660
diff changeset
8550 @c APA: Texi2html produces invalid HTML from an empty list of bullets!
78df880cb9f8 [xemacs-hg @ 2001-09-16 10:09:54 by adrian]
adrian
parents: 660
diff changeset
8551 @c Please uncomment following list when it does contain bullets.
78df880cb9f8 [xemacs-hg @ 2001-09-16 10:09:54 by adrian]
adrian
parents: 660
diff changeset
8552 @c @itemize @bullet
78df880cb9f8 [xemacs-hg @ 2001-09-16 10:09:54 by adrian]
adrian
parents: 660
diff changeset
8553 @c @end itemize
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8554
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8555 @node Q9.0.3, Q9.0.4, Q9.0.2, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8556 @unnumberedsubsec Q9.0.3: What's new in XEmacs 21.1?
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8557
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8558 21.1 was the "stable" version of "experimental" 21.0 series.
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8559 @xref{Q9.0.2, What's new in XEmacs 21.4?}.
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8560
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8561 The following lists summarizes the essential changes made in this
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8562 version. For a fuller list, see the @file{NEWS} in the @file{etc}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8563 directory of the XEmacs distribution, or use @kbd{C-h n} or the
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8564 @samp{Help} menu to view this file inside of XEmacs.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8565
676
5a9f0fc2b3dc [xemacs-hg @ 2001-11-27 18:54:56 by adrian]
adrian
parents: 662
diff changeset
8566 @unnumberedsubsubsec User-visible changes in XEmacs 21.1
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8567
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8568 @itemize @bullet
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8569
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8570 @item
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8571 XEmacs is now supported under Microsoft Windows 95/98 and Windows
2417
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8572 NT/2000/XP operating systems. To discuss Windows-specific issues,
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8573 subscribe to the mailing list at
8b907450718f [xemacs-hg @ 2004-12-05 08:48:12 by ben]
ben
parents: 2164
diff changeset
8574 @email{xemacs-winnt-request@@xemacs.org}.
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8575
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8576 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8577 XEmacs has been unbundled into constituent installable packages.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8578
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8579 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8580 @strong{Other notable changes}: The @samp{Options} menu has been ported to
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8581 Custom; XEmacs now is able to choose X visuals and use private
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8582 colormaps; You can drag the vertical divider of "horizontally"
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8583 (side-by-side) split windows.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8584
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8585 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8586 @strong{Building changes}: XEmacs can be built with support for 31-bit Lisp
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8587 integers and 32-bit pointers (previously, it was 28-bit integers and
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8588 pointers); XEmacs can be built with LDAP support; @file{dir} files can be
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8589 removed in the Info subsystem, and will be regenerated on-the-fly.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8590
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8591 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8592 @strong{New packages}: @file{imenu}, @file{popper}, @file{gdb-highlight}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8593
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8594 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8595 @strong{Package changes}: Many changes to @file{cc-mode}, @file{gnus},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8596 @file{gnuclient}. See @file{NEWS} for full details.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8597
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8598 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8599 @strong{New commands, variables and functions}:
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8600 @code{center-to-window-line} (like @code{recenter} but doesn't force a
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8601 redisplay); variable @code{user-full-name} (customize what your full
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8602 name looks like in mail); @kbd{M-x customize-changed-options} (customize
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8603 options whose default values changes because you upgraded your XEmacs);
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8604 @kbd{M-x add-log-convert} (converts an old-style ChangeLog buffer to
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8605 new-style); @kbd{M-x zap-up-to-char} (like @code{zap-to-char} but
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8606 doesn't delete the char searched for); commands to store, retrieve and
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8607 increment numbers in registers, useful for macros.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8608
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8609 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8610 @strong{Changes to commands, variables, and functions}: @kbd{M-x
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8611 query-replace} and friends operate only on the region when it's active;
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8612 @code{echo-keystrokes} can now be a floating-point number; @kbd{M-.}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8613 searches exact tag matches before inexact ones; function
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8614 @code{user-full-name} with no arguments returns the var
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8615 @code{user-full-name}; a prefix arg to @kbd{M-:} and @kbd{C-h c} inserts
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8616 the result in the current buffer.
1138
05ed51332340 [xemacs-hg @ 2002-12-03 11:01:40 by didierv]
didierv
parents: 1135
diff changeset
8617
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8618 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8619 @strong{Other changes}: Under X, new application class @samp{XEmacs};
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8620 byte-compilation of user-specs now works.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8621
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8622 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8623 @strong{XEmacs/Mule (internationalization) changes}: Mule support now
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8624 works on TTY's; Egg/SJ3 input method now officially supported (Quail and
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8625 Egg/Skk already available through LEIM since 20.3); localized Japanese
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8626 menubars if XEmacs is built with the right support.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8627
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8628 @end itemize
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8629
676
5a9f0fc2b3dc [xemacs-hg @ 2001-11-27 18:54:56 by adrian]
adrian
parents: 662
diff changeset
8630 @unnumberedsubsubsec Lisp and internal changes in XEmacs 21.1
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8631
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8632 @itemize @bullet
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8633
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8634 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8635 @strong{Specifier changes}: The window locale now has a higher
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8636 precedence than the buffer locale when instantiating; new macro
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8637 @code{let-specifier}; new specifiers
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8638 @code{vertical-scrollbar-visible-p}, horizontal-scrollbar-visible-p',
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8639 @code{scrollbar-on-left-p}, @code{scrollbar-on-top-p},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8640 @code{vertical-divider-always-visible-p},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8641 @code{vertical-divider-shadow-thickness},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8642 @code{vertical-divider-line-width}, @code{vertical-divider-spacing};
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8643 specifiers and symbols whose value is a specifier allowed as modeline
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8644 specifications.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8645
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8646 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8647 @strong{Frame focus changes}: @code{focus-follows-mouse} works like FSF,
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8648 prevents any attempt to permanently change the selected frame; new
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8649 function @code{focus-frame} sets the window system focus a frame; new
4905
755ae5b97edb Change "special form" to "special operator" in our sources.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4759
diff changeset
8650 macros @code{save-selected-frame} and @code{with-selected-frame}.
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8651
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8652 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8653 @strong{Window function changes}: @code{select-window} now has optional
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8654 argument @var{NORECORD} to inhibit recording a buffer change;
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8655 @code{vertical-motion} now correctly handles optional @var{WINDOW}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8656 argument and has new optional argument @var{PIXELS}, to have the
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8657 returned values be in pixels; new function
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8658 @code{vertical-motion-pixels}; new functions
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8659 @code{window-text-area-pixel-@{width,height,edges@}}; new functions
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8660 @code{shrink-window-pixels} and @code{enlarge-window-pixels}; new
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8661 function @code{window-displayed-text-pixel-height}.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8662
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8663 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8664 @strong{Other function changes}: Arithmetic comparison functions
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8665 @code{<}, @code{>}, @code{=}, @code{/=} now accept a variable number of
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8666 arguments; hashtables now have a consistent read/print syntax; keyword
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8667 symbols cannot be set to a value other than themselves; @code{concat} no
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8668 longer accepts integer arguments; new function @code{string}, like
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8669 @code{list}, @code{vector}, etc.; new function @code{temp-directory}
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8670 (OS-independent way to get a temp directory); @code{load-average} has
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8671 optional argument @var{USE-FLOATS}; @code{make-event} implemented
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8672 completely; new function @code{function-interactive} (returns a
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8673 function's interactive spec); new functions @code{lmessage},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8674 @code{lwarn} (printf-like versions of @code{display-wessage},
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8675 @code{display-warning}); new keyword @code{:version} to
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8676 @code{defcustom}.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8677
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8678 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8679 @strong{Performance}: when the new GNU Malloc aka Doug Lea Malloc is
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8680 available, it will be used (better performance on libc6 Linux systems);
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8681 tracking line-numbers in modeline is now efficient; profiling records a
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8682 call-count of all called functions, retrievable through
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8683 @code{profile-call-count-results}.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8684
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8685 @item
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8686 @strong{Startup and path searching}: code to assemble paths at startup
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8687 rewritten for new package system; new function @code{split-path} (splits
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8688 by @code{path-separator}); @code{Info-default-directory-list} obsolete,
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8689 use @code{Info-directory-list} instead; site-lisp is deprecated and no
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8690 longer on the load-path by default.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8691
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8692 @end itemize
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8693
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8694 @node Q9.0.4, Q9.0.5, Q9.0.3, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8695 @unnumberedsubsec Q9.0.4: What's new in XEmacs 20.4?
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8696
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8697 XEmacs 20.4 is a bugfix release with no user-visible changes.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8698 @c Filled in from NEWS file of 20.5-b33
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8699
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8700 @node Q9.0.5, Q9.0.6, Q9.0.4, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8701 @unnumberedsubsec Q9.0.5: What's new in XEmacs 20.3?
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8702
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8703 XEmacs 20.3 was released in November 1997. It contains many bugfixes,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8704 and a number of new features, including Autoconf 2 based configuration,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8705 additional support for Mule (Multi-language extensions to Emacs), many
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8706 more customizations, multiple frames on TTY-s, support for multiple info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8707 directories, an enhanced gnuclient, improvements to regexp matching,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8708 increased MIME support, and many, many synches with GNU Emacs 20.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8709
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8710 The XEmacs/Mule support has been only seriously tested in a Japanese
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8711 locale, and no doubt many problems still remain. The support for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8712 ISO-Latin-1 and Japanese is fairly strong. MULE support comes at a
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 438
diff changeset
8713 price---about a 30% slowdown from 19.16. We're making progress on
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8714 improving performance and XEmacs 20.3 compiled without Mule (which is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8715 the default) is definitely faster than XEmacs 19.16.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8716
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8717 XEmacs 20.3 is the first non-beta v20 release, and will be the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8718 basis for all further development.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8719
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8720 @node Q9.0.6, , Q9.0.5, Current Events
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8721 @unnumberedsubsec Q9.0.6: What's new in XEmacs 20.2?
611
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8722
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8723 The biggest changes in 20.2 include integration of EFS (the next
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8724 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8725 major mode for editing Tex and LaTeX, and a lot of other stuff). Many
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8726 bugs from 20.0 have been fixed for this release. 20.2 also contains a
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8727 new system for customizing XEmacs options, invoked via @kbd{M-x
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8728 customize}.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8729
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8730 XEmacs 20.2 is the development release (20.0 was beta), and is no longer
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8731 considered unstable.
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8732
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8733 For older news, see the file @file{ONEWS} in the @file{etc} directory of
38db05db9cb5 [xemacs-hg @ 2001-06-08 12:21:09 by ben]
ben
parents: 593
diff changeset
8734 the XEmacs distribution.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8735
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8736 @node Legacy Versions, Bleeding Edge, Current Events, Top
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8737 @unnumbered 10 New information about old XEmacsen
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8738
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8739 This is part 10 of the XEmacs Frequently Asked Questions list. It will
1495
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8740 occasionally be updated to reflect new information about versions which
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8741 are no longer being revised by the XEmacs Project. The primary purpose
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8742 is advice on compatibility of older XEmacsen with new packages and
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8743 updated versions of packages, but bug fixes (which will not be applied
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8744 to released XEmacsen, but users can apply themselves) are also accepted.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8745
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8746 @menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents: 2459
diff changeset
8747 10.0: XEmacs 21.1
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8748 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8749 * Q10.0.2:: XEmacs won't start on Windows in XEmacs 21.1.
1495
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8750 @end menu
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8751
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8752 @unnumberedsec 10.0: XEmacs 21.1
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8753
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8754 @node Q10.0.1, Q10.0.2, Legacy Versions, Legacy Versions
2459
4c1db13742bc [xemacs-hg @ 2004-12-29 05:08:26 by ben]
ben
parents: 2421
diff changeset
8755 @unnumberedsubsec Q10.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
1495
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8756
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8757 @email{eeide@@cs.utah.edu, Eric Eide} wrote:
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8758
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8759 @quotation
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8760 Previously I wrote:
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8761
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8762 Eric> Summary: with Gnus 5.10.1 in XEmacs 21.1.14, I don't see
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8763 Eric> any smileys :-(.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8764
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8765 After a bit of sleuthing, I discovered the essence of the problem.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8766 For me, the form:
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8767
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8768 @lisp
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8769 (with-temp-buffer
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8770 (insert-file-contents "foo.xpm")
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8771 (buffer-string))
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8772 @end lisp
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8773
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8774 returns the empty string. This is because something somewhere
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8775 replaces the XPM data with a glyph --- I haven't figured out where
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8776 this occurs.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8777 @end quotation
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8778
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8779 @email{kyle_jones@@wonderworks.com, Kyle Jones} replies:
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8780
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8781 @quotation
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8782 Do this:
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8783
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8784 @lisp
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8785 (setq format-alist nil)
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8786 @end lisp
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8787
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8788 The image-mode stuff is gone from format-alist in the 21.4
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8789 branch, praise be.
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8790 @end quotation
c3cf7db99b98 [xemacs-hg @ 2003-05-22 07:41:20 by stephent]
stephent
parents: 1441
diff changeset
8791
2559
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8792 @node Q10.0.2, , Q10.0.1, Legacy Versions
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8793 @unnumberedsubsec Q10.0.2: XEmacs won't start on Windows in XEmacs 21.1.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8794
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8795 XEmacs relies on a process called "dumping" to generate a working
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8796 executable. Under MS-Windows this process effectively fixes the memory
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8797 addresses of information in the executable. When XEmacs starts up it tries
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8798 to reserve these memory addresses so that the dumping process can be
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8799 reversed -- putting the information back at the correct addresses.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8800 Unfortunately some .DLLs (for instance the soundblaster driver) occupy
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8801 memory addresses that can conflict with those needed by the dumped XEmacs
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8802 executable. In this instance XEmacs will fail to start without any
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8803 explanation. Note that this is extremely machine specific.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8804
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8805 21.1.10 includes a fix for this that makes more intelligent guesses
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8806 about which memory addresses will be free, and this should cure the
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8807 problem for most people. 21.4 implements "portable dumping", which
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8808 eliminates the problem altogether. We recommend you use the 21.4
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8809 binaries, but you can use the 21.1 binaries if you are very paranoid
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8810 about stability. @xref{Q1.1.2, Are binaries available?}.
0e04aba50e0b [xemacs-hg @ 2005-02-04 02:51:20 by ben]
ben
parents: 2537
diff changeset
8811
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8812
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8813 @node Bleeding Edge, , Legacy Versions, Top
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8814 @unnumbered 10 Working with XEmacs Source Code Repositories.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8815
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8816 This is part 11 of the XEmacs Frequently Asked Questions list. The
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8817 primary purpose is advice on use of the version control systems used to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8818 keep the history of XEmacs development.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8819
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8820 @menu
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8821 11.0: The XEmacs repositories
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8822 * Q11.0.1:: Where is the most recent XEmacs development code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8823 * Q11.0.2:: Where is the most recent XEmacs stable code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8824 * Q11.0.3:: Where is the most recent XEmacs package code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8825 * Q11.0.4:: Why isn't @var{package} available? and what to do about it.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8826 * Q11.0.5:: How do I get commit access?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8827
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8828 11.1: Working with CVS
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8829 * Q11.1.1:: How do I keep cool using CVS?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8830
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8831 11.2: Working with Mercurial
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8832 * Q11.2.1:: What is Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8833 * Q11.2.2:: Where do I get Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8834 * Q11.2.3:: Do I really have to waste space on history?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8835 * Q11.2.4:: @code{hg diff} gives bizarre output.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8836 * Q11.2.5:: How do I recover from a bad commit? (I already pushed.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8837 * Q11.2.6:: How do I recover from a bad commit? (I haven't pushed yet.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8838 * Q11.2.7:: Testing patches with Mercurial Queues.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8839 @end menu
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8840
5741
d11efddf3617 Fix texinfo constructs that are rejected by texinfo 5.x. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 5739
diff changeset
8841 @unnumberedsec 11.0: The XEmacs repositories
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8842
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8843 @node Q11.0.1, Q11.0.2, Bleeding Edge, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8844 @unnumberedsubsec Where is the most recent XEmacs development code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8845
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8846 The most recent XEmacs @emph{development} code is kept in a Mercurial
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8847 repository, hosted by the Debian project. The read-only URL, for
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8848 anybody who doesn't intend to push upstream directly, is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8849
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8850 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8851 http://hg.debian.org/hg/xemacs/xemacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8852 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8853
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8854 The read-write URL for committers is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8855
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8856 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8857 ssh://sperber-guest@@hg.debian.org//hg/xemacs/xemacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8858 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8859
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8860 Yes, Virginia, that doubled slash is correct.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8861
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8862 @xref{Q11.0.5, How do I get commit access?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8863
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8864 @xref{Q11.2.1, What is Mercurial?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8865
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8866 @node Q11.0.2, Q11.0.3, Q11.0.1, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8867 @unnumberedsubsec Where is the most recent XEmacs stable code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8868
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8869 The most recent XEmacs @emph{stable} code is kept in a Mercurial
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8870 repository, hosted by the Debian project. The read-only URL is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8871
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8872 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8873 http://hg.debian.org/hg/xemacs/xemacs-21.4
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8874 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8875
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8876 If you're @emph{not} Vin, you don't need commit access. If you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8877 @emph{are} Vin, you shouldn't need to refer to this FAQ.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8878
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8879 @xref{Q11.2.1, What is Mercurial?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8880
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8881
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8882 @node Q11.0.3, Q11.0.4, Q11.0.2, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8883 @unnumberedsubsec Where is the most recent XEmacs package code?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8884
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8885 The most recent XEmacs @emph{packages} code is kept in a CVS
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8886 repository, hosted by the Debian project. The read-only @code{CVSROOT},
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8887 for anybody who doesn't intend to push upstream directly, is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8888
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8889 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8890 CVSROOT=:pserver:anonymous@@cvs.alioth.debian.org:/cvsroot/xemacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8891 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8892
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8893 The read-write @code{CVSROOT} for committers is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8894
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8895 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8896 CVSROOT=:ext:@var{aliothuser}@@cvs.alioth.debian.org:/cvsroot/xemacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8897 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8898
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8899 where @var{aliothuser} is your account on @code{alioth.debian.org}. Then
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8900
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8901 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8902 cvs checkout packages
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8903 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8904
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8905 as usual. For more information, see
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8906 @uref{http://www.xemacs.org/Develop/cvsaccess.html, XEmacs CVS Archive}
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8907 on the website.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8908
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8909 @xref{Q11.1.1, How do I stay cool using CVS?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8910
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8911 @xref{Q11.0.5, How do I get commit access?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8912
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8913
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8914 @node Q11.0.4, Q11.0.5, Q11.0.3, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8915 @unnumberedsubsec Why isn't @var{package} available? and what to do about it.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8916
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8917 If a package isn't available from the Packages repository, probably
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8918 nobody has shown enough interest to add it yet. (Occasionally, there is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8919 a better package already in the XEmacs repository, of course.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8920
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8921 The first step is to ask about it, and propose addition, on
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8922 @email{xemacs-beta@@xemacs.org, the XEmacs Contributors list}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8923
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8924 Most regular XEmacs contributors already shoulder primary responsibility
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8925 for several packages, and contribute to maintenance of the rest, so you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8926 are unlikely to get a massively enthusiastic response unless you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8927 volunteer to become the maintainer of the version packaged for XEmacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8928 yourself. The duties are not terribly onerous if you're an active user
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8929 of the package @ref{(xemacs-devguide)XEmacs Package Maintainer}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8930
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8931
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8932 @node Q11.0.5, Q11.1.1, Q11.0.4, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8933 @unnumberedsubsec How do I get commit access?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8934
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8935 To get commit access to XEmacs code, write to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8936 @email{xemacs-review@@xemacs.org, the XEmacs Review Board} and request
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8937 it. Once approved, for the development code, you also need to send
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8938 @email{mike@@xemacs.org, Michael Sperber} your SSH v2 RSA key (Alioth
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8939 policy; v1 and DSA keys aren't acceptable). A CC to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8940 @email{xemacs-services@@xemacs.org, the XEmacs Services team} is a good
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8941 idea, although not absolutely necessary. You should also get an Alioth
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8942 account so that you can publish branches for review.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8943
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8944 For packages code, you must get an Alioth account. Send your account
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8945 name information to @email{xemacs-services@@xemacs.org, the XEmacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8946 Services team}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8947
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8948 The stable repository is gated; only the gatekeeper (currently Vin
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8949 Shelton) has commit access. Patches for the stable repository should be
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8950 submitted to @email{xemacs-patches@@xemacs.org, XEmacs Patches}, as usual.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8951
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8952 @uref{http://www.xemacs.org/Develop/hgaccess.html, XEmacs Mercurial Archive}
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8953
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8954 @uref{http://www.xemacs.org/Develop/cvsaccess.html, XEmacs CVS Archive}
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8955
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8956 @xref{Q11.1.1, How do I stay cool using CVS?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8957
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8958 @xref{Q11.2.1, What is Mercurial?}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8959
5741
d11efddf3617 Fix texinfo constructs that are rejected by texinfo 5.x. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 5739
diff changeset
8960 @unnumberedsec 11.1: Working with CVS
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8961
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8962 @node Q11.1.1, Q11.2.1, Q11.0.5, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8963 @unnumberedsubsec How do I keep cool using CVS?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8964
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8965 You don't. CVS is just basically and in detail @emph{un}-cool.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8966
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8967 What would be really cool is if you would help us out in moving the
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8968 packages repository to Mercurial. Volunteer on
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8969 @email{xemacs-beta@@xemacs.org, the XEmacs Contributors list}. What's
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8970 needed is to figure out how to provide a one step checkout for the whole
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8971 package hierarchy, while restricting commits to one package at a time.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8972
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8973 For help using CVS, Google or ask on @email{xemacs-beta@@xemacs.org}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8974 Please update this FAQ with one or two of the best references you find.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8975
5741
d11efddf3617 Fix texinfo constructs that are rejected by texinfo 5.x. See xemacs-patches
Jerry James <james@xemacs.org>
parents: 5739
diff changeset
8976 @unnumberedsec 11.1: Working with Mercurial
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8977
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8978 @node Q11.2.1, Q11.2.2, Q11.1.1, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8979 @unnumberedsubsec What is Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8980
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8981 Mercurial is a @dfn{distributed version control system}, or DVCS. This
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8982 means that versioning information can be easily exchanged between
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8983 different lines of development, even if located on different hosts. In
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8984 the older @dfn{centralize version control system} model, when you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8985 @dfn{commit} a change, it is immediately reflected in the public
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8986 repository. In a DVCS, each user has a @dfn{local repository}, and
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8987 the commit operation creates a version in that repository. To
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8988 communicate with the public repository, a separate @dfn{push} operation
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8989 must be executed. The DVCS model is more appropriate for open source
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8990 development.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8991
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8992 @itemize
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8993 @item
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8994 The VCS model mirrors the development organization, where developers
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8995 tend to work independently or in very small groups.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8996
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8997 @item
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8998 Users without commit access can conveniently manage their local changes.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
8999
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9000 @item
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9001 Developers can work, and commit changes, while disconnected from the
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9002 Internet. Then they merge and push their changes later.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9003 @end itemize
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9004
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9005 Use of a DVCS does require some changes in workflow, but the XEmacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9006 developers consider that inconvenience to be far more than balanced by
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9007 the advantages.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9008
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9009
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9010 @node Q11.2.2, Q11.2.3, Q11.2.1, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9011 @unnumberedsubsec Where do I get Mercurial?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9012
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9013 Most OS distributions (including add-on distributions like
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9014 @uref{http://www.cygwin.com/, Cygwin} and
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9015 @uref{http://www.macports.org/, MacPorts}) include Mercurial packages.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9016 Of course, you can get the source distribution, as well as pre-built
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9017 packages for most major platforms, from
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9018 @uref{http://mercurial.selenic.com/wiki/, the Mercurial developers}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9019
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9020
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9021 @node Q11.2.3, Q11.2.4, Q11.2.2, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9022 @unnumberedsubsec Do I really have to waste space on history?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9023
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9024 Yes, you do. It's really not that much, though. In one of my current
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9025 workspaces, I see
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9026
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9027 @table @code
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9028 @item XEmacs source files (and other cruft, such as editor backups)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9029 115464KB
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9030 @item Build products
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9031 49676
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9032 @item Mercurial control files and history
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9033 25644
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9034 @end table
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9035
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9036 That really does include all of the history available in the main XEmacs
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9037 development branch, and the build products are near twice the size of
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9038 all of the Mercurial-specific information.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9039
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9040
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9041 @node Q11.2.4, Q11.2.5, Q11.2.3, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9042 @unnumberedsubsec @code{hg diff} gives bizarre output.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9043
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9044 You may see an unreasonable diff (often large) that doesn't seem to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9045 reflect your work.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9046
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9047 This is usually due to using @code{hg diff} on a @dfn{merge commit}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9048 That means the commit has multiple parents, and joins together two lines
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
9049 of development that occurred concurrently.
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9050
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9051 You're diffing against the "wrong" one; try the other one. You get the
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
9052 relevant revision number or ID from @code{hg log}. In more detail:
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9053
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9054 When there is a merge in Mercurial, it will often be the case that
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9055 one of the parents is the immediate predecessor of the merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9056 commit. @code{hg log} will report something like
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9057
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9058 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9059 changeset: 4789:56049bea9231 # revision D, below
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9060 parent: 4788:5cca06f930ea # your commit
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9061 parent: 4787:6e6f7b79c1fc # diff against this
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9062 user: you (or somebody else)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9063
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9064 changeset: 4788:5cca06f930ea # revision B, below
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9065 parent: 4760:217abcf015c4 # revision A, below
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9066 user: you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9067
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9068 changeset: 4787:6e6f7b79c1fc # revision C, below
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9069 parent: 4786:d6cfba1cc388
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9070 user: somebody else
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9071 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9072
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9073 Note that the divergence took place a long time ago (r4760).
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9074 It's natural to diff against (tip - 1), in the example above,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9075 @code{hg diff -r 4788}. But this will give unexpected output!
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9076
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9077 A picture of this history looks something like
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9078
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9079 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9080 B --- D
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9081 / /
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9082 A ... C
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9083 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9084
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9085 where A is the common ancestor, B is the commit you did, C is the
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9086 mainline at the time of the merge, and D is the merge commit. The
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9087 three dots between A and C can represent many commits, and a lot
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9088 of work. Given no conflicts in the merge, @code{hg diff -r C -r D} is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9089 the same as @code{hg diff -r A -r B}, @emph{i.e.}, it shows your work.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9090 Similarly, @code{hg diff -r B -r D} is the same as
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9091 @code{hg diff -r A -r C}. This latter diff is likely to be quite large,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9092 and it doesn't show your work. Unfortunately, that is the typical
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9093 result of diffing against the "previous" commit.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9094
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9095 @node Q11.2.5, Q11.2.6, Q11.2.4, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9096 @unnumberedsubsec How do I recover from a bad commit? (I already pushed.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9097
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9098 Once upon a time, an XEmacs developer wrote:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9099
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9100 > GAAAAK! What's the best way to restore ChangeLog and its history?
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9101
5384
3889ef128488 Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents: 5028
diff changeset
9102 He had just inadvertently pushed a commit which deleted
5028
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9103 @file{src/ChangeLog}! The history is still there, not to worry. (In
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9104 this case, another developer had restored src/ChangeLog already.) The
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9105 best way depends on a number of things. First, let's look at the log
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9106 and the state of the DAG (the graph of commits). Here's the log,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9107 formatted somewhat differently from the usual output for compactness.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9108
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9109 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9110 5025 anne Restore src/ChangeLog.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9111 5024 barb merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9112 parents: 5023 5010
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9113 5023 barb Error-checking.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9114 5020 barb merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9115 parents: 5019 5006
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9116 5019 barb Fix non-Mule build.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9117 5011 barb Some internals-manual updates.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9118 parents: 5002
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9119 5010 cary Windows fixes for Visual Studio 6.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9120 parents: 5008 5009
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9121 5009 cary Miscellaneous small fixes to Windows VS6 build.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9122 parents: 5006
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9123 5008 dana Add license information.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9124 5007 dana Relicense emodules.texi.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9125 5006 cary Instantiate compile fix for nt.c.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9126 5005 edna Cast correctly.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9127 5003 edna #'union doesn't preserve relative order
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9128 5002 barb Fix some compile bugs.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9129 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9130
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9131 (The gaps at 5003...5005, 5011...5019, and 5020...5023 are filled with
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9132 sequences of commits by the same developers.) Let's visualize this as a
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9133 graph. Time increases to the right, the leading "50" is omitted for
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9134 brevity, and the dotted links indicate that several irrelevant commits
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9135 were omitted, also for brevity.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9136
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9137 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9138 ,------ 09 -----.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9139 / \
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9140 02 --- 03 ... 05 --- 06 --- 07 --- 08 --- 10 --- 24 --- 25
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9141 \ \ /
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9142 `-- 11 ... 19 -------`-- 20 ... 23 ---------'
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9143 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9144
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9145 The "problem commit" is 5010, which merges 5008 with 5009, and somehow
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9146 managed to "lose" @file{src/ChangeLog}. The unobvious consequence is
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9147 that, although the @emph{other} changes made in 5007 and 5008 were
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9148 successfully merged and are present in 5010, the log entry made by
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9149 Dana for 5008 "just disappeared". (The log entry for 5007 is in a
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9150 different @file{ChangeLog}, so it's safe.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9151
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9152 @subsubheading The safe and simple way for Cary
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9153
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9154 To recover state file-by-file (also for whole directories), use @code{hg
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9155 revert}. This does not change the "current" version, @emph{i.e.}, the
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9156 commit that will be the parent for your next commit.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9157
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9158 If it's not a merge commit, it's simple to restore the ChangeLog. It's
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9159 best to do it before making any other commits in your own workspace, and
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9160 before pulling in new commits from others. If there are a lot of such
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9161 commits in your workspace already, ask for help. But in this case,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9162 there was no such problem. Just
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9163
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9164 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9165 hg revert -r 5009 src/ChangeLog
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9166 # Add Dana's log entry by hand.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9167 hg commit -m "Restore src/ChangeLog."
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9168 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9169
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9170 5009 is the revision id of the most recent commit that had the correct
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9171 version of the file. You get that from the "parent" field in @code{hg
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9172 log}, or from the DAG browser (@code{hg view}, requires @code{hgk}
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9173 extension enabled).
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9174
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9175 Alternatively, Cary could revert from 5008. This would leave her with
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9176 @emph{her} log entry for 5009 missing, and that would have to be added
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9177 by hand.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9178
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9179 Note that in the actual history, Cary didn't realize that Dana's log
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9180 went missing, so Anne had to pick up the slack in 5025.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9181
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9182 @subsubheading Recovery by another developer
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9183
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9184 Another way to recover earlier state is with @code{hg checkout} (or
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9185 @code{hg update}, which is another way to spell the same command). This
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9186 changes the version that hg sees as "current", as well as reverting the
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9187 workspace.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9188
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9189 A common scenario is that another developer, such as Barb in the log
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9190 above, was already working on @file{src/ChangeLog}, saves her copy, then
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9191 tries to merge. She would then get a modify/delete conflict. It's
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9192 tempting to just resolve that in favor of keeping the file, and commit.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9193 This often works, but an alternative way uses the VCS:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9194
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9195 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9196 hg checkout 5010
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9197 hg revert -r 5009 src/ChangeLog
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9198 # Add Dana's log entry by hand.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9199 hg commit -m "Restore src/ChangeLog."
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9200 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9201
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9202 to get the same effect as described above, then
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9203
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9204 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9205 hg merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9206 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9207
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9208 (making her changes "float to the top" of the log) or
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9209
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9210 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9211 hg checkout 5023
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9212 hg merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9213 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9214
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9215 (putting the Cary's branch at the top of the log). This assumes she has
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9216 no other heads in her workspace. If she does have other heads she would
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9217 have to use an explicit argument to @code{hg merge}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9218
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9219 Note that in the actual history, Barb didn't realize that Dana's log
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9220 went missing, so Anne (or somebody) had to pick up the slack in 5025.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9221
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9222 @subsubheading The hard but accurate way
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9223
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9224 Suppose Barb did @code{hg pull -u}, but notices the problem before
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9225 resolving conflicts and committing the merge. Assume Barb was fully committed
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9226 before doing @code{hg pull -u}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9227
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9228 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9229 # Restore the ChangeLog, "covering up" the broken commit.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9230 # Check out Cary's head. This nukes the merged files in the workspace,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9231 # but @emph{the history and versions in Barb's rev. 5023 are preserved
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9232 # in the repository}. The -C is necessary to overwrite files.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9233 hg checkout -C 5010
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9234 hg revert -r 5009 src/ChangeLog
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9235 # Merge Dana's branch (yes, again).
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9236 # The repeated merge outside of src/ChangeLog should resolve to a
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9237 # no-op, but the ChangeLog probably conflicts.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9238 # The -f is needed because revert leaves uncommitted changes.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9239 hg merge -f 5008
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9240 hg commit -m "Re-merge Dana's branch to recover her logs."
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9241 # Merge Barb's work.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9242 # If Barb has only two heads, which seems likely, the argument to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9243 # merge is optional.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9244 hg merge 5023
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9245 hg commit -m merge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9246 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9247
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9248 Visualizing this with a graph, we have:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9249
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9250 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9251 ,------ 09 -----.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9252 / \
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9253 02 --- 03 ... 05 --- 06 --- 07 --- 08 --- 10 *** 24 --- 25
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9254 \ \ \ / /
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9255 \ \ `--------' /
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9256 \ \ /
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9257 `-- 11 ... 19 -------`-- 20 ... 23 ------------'
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9258 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9259
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9260 Note that the versions 5024 and 5025 in this graph denote
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9261 @emph{different} versions from the actual history. The starred link
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9262 means that editing work (aside from resolving conflicts) was done, on
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9263 top of the merge. However, the editing work is actually done by
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9264 Mercurial (the revert command)!
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9265
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9266
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9267 @node Q11.2.6, Q11.2.7, Q11.2.5, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9268 @unnumberedsubsec How do I recover from a bad commit? (I haven't pushed yet.)
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9269
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9270 If you hadn't yet pushed the commit you now regret, and realize it
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9271 before doing further commits, you can use @code{hg strip tip}. Then
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9272 just redo the commit, possibly with additional changes before
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9273 committing.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9274
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9275 @code{hg strip} is dangerous; for practical purposes it destroys
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9276 history, and it also reverts the files in your workspace. It's
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9277 probably possible to recover the history, but I don't know how. And any
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9278 uncommitted changes that might be lost are gone forever. However, it
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9279 is useful in cases like this.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9280
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9281 When in doubt, use the safer method @ref{Q11.2.5}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9282
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9283
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9284 @node Q11.2.7, , Q11.2.6, Bleeding Edge
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9285 @unnumberedsubsec Testing patches with Mercurial Queues.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9286
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9287 When testing a patch proposed on xemacs-beta or xemacs-patches,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9288 conflicts or new heads often appear later, when using @code{hg pull -u}.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9289
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9290 There are both theoretical and practical reasons why this happens,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9291 and it's unlikely to change. The current workflow of XEmacs is also
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9292 unlikely to change soon; testing patches is also probably going to
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9293 remain necessary. One way to avoid this issue is to use Mercurial
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9294 Queues (mq), an extension distributed with Mercurial.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9295
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9296 Enable mq by adding
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9297
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9298 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9299 [extensions]
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9300
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9301 hgext.mq =
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9302 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9303
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9304 to your @file{~/.hgrc}. (Yes, the right hand side is empty.) If you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9305 already have an @code{[extensions]} section, don't repeat it. Add
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9306 @code{hgext.mq =} to the existing extensions section.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9307
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9308 When you want to test a patch, you need an hg workspace with no
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9309 uncommitted changes. If you already have some uncommitted changes,
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9310 you can preserve them with mq as follows:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9311
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9312 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9313 $ hg qnew -f -m "Preserve local changes." local-changes
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9314 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9315
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9316 The @code{-m} flag specifies the commit message for the new patch. The
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9317 @code{-f} flag "forces" qnew to put all of the uncommitted local changes
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9318 into an mq patch, and commits it (you will see a commit with summary
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9319 "Preserve local changes." if you do an @code{hg log} now).
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9320 "local-changes" is the name of the patch.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9321
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9322 Now, create an mq patch for the test patch (which we assume was saved
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9323 to @file{/tmp/xemacs.patch}):
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9324
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9325 $ hg qimport -P -n test-xemacs-patch /tmp/xemacs.patch
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9326
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9327 The @code{-n} flag specifies the name of the patch. Give it a name
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9328 sufficiently explicit so you'll know what it is later. Remember, it
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9329 may take several weeks for the patch to be pushed to the public
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9330 mainline. The @code{-P} flag says "apply this patch to the workspace
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9331 now".
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9332
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9333 When you want to update the workspace, you need to remove the mq
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9334 commits, update, and restore your local changes and the test patch.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9335 You do it this way:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9336
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9337 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9338 $ hg qpop --all
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9339 $ hg pull -u # use your usual method, hg fetch etc.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9340 $ hg qpush --all
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9341 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9342
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9343 @code{hg qpop --all} undoes all the mq commits, but leaves the patches
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9344 in @file{.hg/patches}. @code{hg qpush --all} reapplies the patches and
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9345 restores the mq commits. Of course you hope that the patch will be
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9346 committed upstream. When it is, you do this:
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9347
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9348 @example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9349 $ hg qpop --all
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9350 $ hg pull -u
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9351 $ hg qdelete test-xemacs-patch
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9352 $ hg qpush --all
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9353 @end example
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9354
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9355 and you're back in business with the official version of the patch you
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9356 tested, and all your local changes applied.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9357
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9358 It's also possible to split your local changes into smaller mq
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9359 patches, but that's out of scope for this answer.
b7232de2a937 Add information about repos and VCSes to FAQ.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4905
diff changeset
9360
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9361 @bye