comparison man/xemacs-faq.texi @ 2559:0e04aba50e0b

[xemacs-hg @ 2005-02-04 02:51:20 by ben] More FAQ updates; incorporate top-level files xemacs-faq.texi: Flesh out intro section on packages and section on installing packages. Incorporate README, README.packages, BUGS, etc/PACKAGES. Various other changes.
author ben
date Fri, 04 Feb 2005 02:51:21 +0000
parents b7b90f750a78
children 640e02d61e7f
comparison
equal deleted inserted replaced
2558:4e9b54b828ac 2559:0e04aba50e0b
5 @setchapternewpage off 5 @setchapternewpage off
6 @c %**end of header 6 @c %**end of header
7 @finalout 7 @finalout
8 @titlepage 8 @titlepage
9 @title XEmacs FAQ 9 @title XEmacs FAQ
10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2005/01/31 20:08:48 $ 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2005/02/04 02:51:21 $
11 @sp 1 11 @sp 1
12 @author Ben Wing <ben@@xemacs.org> 12 @author Ben Wing <ben@@xemacs.org>
13 @author Tony Rossini <rossini@@u.washington.edu> 13 @author Tony Rossini <rossini@@u.washington.edu>
14 @author Chuck Thompson <cthomp@@xemacs.org> 14 @author Chuck Thompson <cthomp@@xemacs.org>
15 @author Steve Baur <steve@@xemacs.org> 15 @author Steve Baur <steve@@xemacs.org>
53 wonder, does texinfo-master-menu generate the detailmenu from the 53 wonder, does texinfo-master-menu generate the detailmenu from the
54 individual menus or vice-versa or neither?) 54 individual menus or vice-versa or neither?)
55 55
56 Then, 56 Then,
57 57
58 1. Use the Lisp line below to get the spacing correct for the Q#.#.# 58 6. C-u C-c C-u m (C-u M-x texinfo-master-menu) will update the menus
59 menu entries.
60
61 (set (make-local-variable 'texinfo-column-for-description) 14)
62
63 2. C-u C-c C-u m (C-u M-x texinfo-master-menu) will update the menus
64 and nodes. However, it appears that even though it tries to 59 and nodes. However, it appears that even though it tries to
65 preserve the existing menu structure as much as possible, it 60 preserve the existing menu structure as much as possible, it
66 doesn't do a perfect job. It messes up in at least two ways: The 61 doesn't do a perfect job. It messes up in at least two ways: The
67 indentation in the part of the main menu above the detailmenu will 62 indentation in the part of the main menu above the detailmenu will
68 be screwed up, and the #.0 titles will be removed from both the 63 be screwed up, and the #.0 titles will be removed from both the
69 detailmenu and the individual chapter menus. In addition, 64 detailmenu and the individual chapter menus. In addition,
70 sometimes random things get screwed up in individual parts of the 65 sometimes random things get screwed up in individual parts of the
71 menus. Therefore: 66 menus. Therefore:
72 67
73 1. Copy the whole detailmenu beforehand. 68 1. Use the Lisp line below to get the spacing correct for the Q#.#.#
74 2. Run C-u C-C C-u m to fix up the nodes. 69 menu entries.
75 3. Run `fix-main-menu' and `fix-omitted-menu-lines'. 70
76 4. Check the new detailmenu carefully to see if anything is screwed up 71 (set (make-local-variable 'texinfo-column-for-description) 14)
72
73 2. Copy the whole detailmenu beforehand.
74 3. Run C-u C-c C-u m to fix up the nodes.
75 4. Run `fix-main-menu' and `fix-omitted-menu-lines'.
76 5. Check the new detailmenu carefully to see if anything is screwed up
77 compared to the old detailmenu you copied. 77 compared to the old detailmenu you copied.
78 5. If so, paste back the appropriate sections and fix up the corresponding 78 6. If so, paste back the appropriate sections and fix up the corresponding
79 part of the chapter-specific menu. 79 part of the chapter-specific menu.
80 80
81 (defun fix-main-menu () 81 (defun fix-main-menu ()
82 (interactive) 82 (interactive)
83 (save-restriction 83 (save-restriction
84 (let (p q) 84 (let (p q)
85 (search-forward "@menu") 85 (goto-char (point-min))
86 (re-search-forward "^@menu")
86 (setq p (match-beginning 0)) 87 (setq p (match-beginning 0))
87 (re-search-forward "^$") 88 (re-search-forward "^$")
88 (setq q (match-end 0)) 89 (setq q (match-end 0))
89 (narrow-to-region p q) 90 (narrow-to-region p q)
90 (goto-char p) 91 (goto-char p)
92 (indent-to-column 26))))) 93 (indent-to-column 26)))))
93 94
94 (defun fix-omitted-menu-lines () 95 (defun fix-omitted-menu-lines ()
95 (interactive) 96 (interactive)
96 (save-excursion 97 (save-excursion
97 (loop for x from 1 to 7 do 98 (loop for x from 1 to 10 do
98 (goto-char (point-min)) 99 (goto-char (point-min))
99 (re-search-forward (format "@unnumberedsec \\(%d.0: .*\\)" x)) 100 (re-search-forward (format "@unnumberedsec \\(%d.0: .*\\)" x))
100 (let ((line (match-string 1))) 101 (let ((line (match-string 1)))
101 (search-backward "@menu") 102 (re-search-backward "^@menu")
102 (forward-line 1) 103 (forward-line 1)
103 (unless (looking-at "[0-9].0:") 104 (unless (looking-at "[0-9]+.0:")
104 (insert line) 105 (insert line)
105 (insert "\n")) 106 (insert "\n"))
106 (goto-char (point-min)) 107 (goto-char (point-min))
107 (search-forward "@menu") 108 (re-search-forward "^@menu")
108 (search-forward (format "Q%d.0.1:" x)) 109 (search-forward (format "Q%d.0.1:" x))
109 (forward-line -1) 110 (forward-line -1)
110 (unless (looking-at "[0-9].0:") 111 (unless (looking-at "[0-9]+.0:")
111 (insert line) 112 (insert "\n")
112 (insert "\n")))))) 113 (insert line))))))
113 114
114 ***************************************** 115 *****************************************
115 ***** Other work ***** 116 ***** Other work *****
116 ***************************************** 117 *****************************************
117 118
233 * Q1.3.8:: What is @code{Custom}? 234 * Q1.3.8:: What is @code{Custom}?
234 235
235 1.4: Getting Help 236 1.4: Getting Help
236 * Q1.4.1:: Where can I get help? 237 * Q1.4.1:: Where can I get help?
237 * Q1.4.2:: Which mailing lists are there? 238 * Q1.4.2:: Which mailing lists are there?
238 * Q1.4.2:: Where are the mailing lists archived? 239 * Q1.4.3:: Where are the mailing lists archived?
239 * Q1.4.3:: How can I get two instances of info? 240 * Q1.4.4:: How can I get two instances of info?
240 * Q1.4.4:: How do I add new Info directories? 241 * Q1.4.5:: How do I add new Info directories?
241 242
242 1.5: Contributing to XEmacs 243 1.5: Contributing to XEmacs
243 * Q1.5.1:: How do I submit changes to the FAQ? 244 * Q1.5.1:: How do I submit changes to the FAQ?
244 * Q1.5.2:: How do I become a beta tester? 245 * Q1.5.2:: How do I become a beta tester?
245 * Q1.5.3:: How do I contribute to XEmacs itself? 246 * Q1.5.3:: How do I contribute to XEmacs itself?
247 * Q1.5.4:: How do I get started developing XEmacs?
248 * Q1.5.5:: What's the basic layout of the code?
246 249
247 1.6: Politics (XEmacs vs. GNU Emacs) 250 1.6: Politics (XEmacs vs. GNU Emacs)
248 * Q1.6.1:: What is GNU Emacs? 251 * Q1.6.1:: What is GNU Emacs?
249 * Q1.6.2:: How does XEmacs differ from GNU Emacs? 252 * Q1.6.2:: How does XEmacs differ from GNU Emacs?
250 * Q1.6.3:: How much does XEmacs differ? 253 * Q1.6.3:: How much does XEmacs differ?
251 * Q1.6.4:: Is XEmacs "GNU"? 254 * Q1.6.4:: Is XEmacs "GNU"?
252 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs? 255 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs?
253 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged? 256 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged?
254 257
255 1.7: External Packages 258 1.7: External Packages
256 * Q1.7.1:: Which external packages are there? 259 * Q1.7.1:: What is the package system?
260 * Q1.7.2:: Which external packages are there?
261 * Q1.7.3:: Do I need to have the packages to run XEmacs?
262 * Q1.7.4:: Is there a way to find which package has particular functionality?
257 263
258 1.8: Internationalization 264 1.8: Internationalization
259 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)? 265 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)?
260 * Q1.8.2:: How can I help with internationalization? 266 * Q1.8.2:: How can I help with internationalization?
261 * Q1.8.3:: How do I type non-ASCII characters? 267 * Q1.8.3:: How do I type non-ASCII characters?
266 * Q1.8.8:: Does XEmacs support Unicode? 272 * Q1.8.8:: Does XEmacs support Unicode?
267 * Q1.8.9:: How does XEmacs display Unicode? 273 * Q1.8.9:: How does XEmacs display Unicode?
268 274
269 2 Installation and Troubleshooting 275 2 Installation and Troubleshooting
270 276
271 2.0: Installation (General), Packages 277 2.0: Installation (General)
272 * Q2.0.1:: How do I install the packages? 278 * Q2.0.1:: How do I build and install XEmacs?
273 * Q2.0.2:: I don't need no steenkin' packages. Do I? 279 * Q2.0.2:: Where do I find external libraries?
274 * Q2.0.3:: Where do I find external libraries? 280 * Q2.0.3:: How do I specify the paths that XEmacs uses for finding files?
275 * Q2.0.4:: How do I specify the paths that XEmacs uses for finding files? 281 * Q2.0.4:: Running XEmacs without installing
276 * Q2.0.5:: Running XEmacs without installing 282 * Q2.0.5:: XEmacs is too big
277 * Q2.0.6:: XEmacs is too big 283
278 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW) 284 2.1: Package Installation
279 285 * Q2.1.1:: How do I install the packages?
280 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW) 286 * Q2.1.2:: Can I install the packages individually?
281 * Q2.1.1:: Libraries in non-standard locations 287 * Q2.1.3:: Can I install the packages automatically?
282 * Q2.1.2:: Why can't I strip XEmacs? 288 * Q2.1.4:: Can I upgrade or remove packages?
283 289 * Q2.1.5:: Which packages to install?
284 2.2: Windows Installation (Windows, Cygwin, MinGW) 290 * Q2.1.6:: Can you describe the package location process in more detail?
285 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows? 291 * Q2.1.7:: EFS fails with "500 AUTH not understood"
286 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs? 292
287 * Q2.2.3:: How do I compile the native port? 293 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
288 * Q2.2.4:: What do I need for Cygwin? 294 * Q2.2.1:: Libraries in non-standard locations
289 * Q2.2.5:: How do I compile under Cygwin? 295 * Q2.2.2:: Why can't I strip XEmacs?
290 * Q2.2.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? 296
291 * Q2.2.7:: How do I compile with X support? 297 2.3: Windows Installation (Windows, Cygwin, MinGW)
292 * Q2.2.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW) 298 * Q2.3.1:: What exactly are all the different ways to build XEmacs under Windows?
293 299 * Q2.3.2:: What compiler/libraries do I need to compile XEmacs?
294 2.3: General Troubleshooting 300 * Q2.3.3:: How do I compile the native port?
295 * Q2.3.1:: Help! XEmacs just crashed on me! 301 * Q2.3.4:: What do I need for Cygwin?
296 * Q2.3.2:: XEmacs crashes and I compiled it myself. 302 * Q2.3.5:: How do I compile under Cygwin?
297 * Q2.3.3:: How to debug an XEmacs problem with a debugger 303 * Q2.3.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
298 * Q2.3.4:: I get a cryptic error message when trying to do something. 304 * Q2.3.7:: How do I compile with X support?
299 * Q2.3.5:: XEmacs hangs when I try to do something. 305 * Q2.3.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
300 * Q2.3.6:: I get an error message when XEmacs is running in batch mode. 306
301 * Q2.3.7:: The keyboard or mouse is not working properly, or I have some other event-related problem. 307 2.4: General Troubleshooting
302 * Q2.3.8:: @kbd{C-g} doesn't work for me. Is it broken? 308 * Q2.4.1:: How do I deal with bugs or with problems building, installing, or running?
303 * Q2.3.9:: How do I debug process-related problems? 309 * Q2.4.2:: Help! XEmacs just crashed on me!
304 * Q2.3.10:: XEmacs is outputting lots of X errors. 310 * Q2.4.3:: XEmacs crashes and I compiled it myself.
305 * Q2.3.11:: After upgrading, XEmacs won't do `foo' any more! 311 * Q2.4.4:: How to debug an XEmacs problem with a debugger
306 312 * Q2.4.5:: I get a cryptic error message when trying to do something.
307 2.4: Startup-Related Problems 313 * Q2.4.6:: XEmacs hangs when I try to do something.
308 * Q2.4.1:: XEmacs cannot connect to my X Terminal! 314 * Q2.4.7:: I get an error message when XEmacs is running in batch mode.
309 * Q2.4.2:: XEmacs won't start on Windows. 315 * Q2.4.8:: The keyboard or mouse is not working properly, or I have some other event-related problem.
310 * Q2.4.3:: XEmacs won't start without network. 316 * Q2.4.9:: @kbd{C-g} doesn't work for me. Is it broken?
311 * Q2.4.4:: Startup warnings about deducing proper fonts? 317 * Q2.4.10:: How do I debug process-related problems?
312 * Q2.4.5:: Warnings from incorrect key modifiers. 318 * Q2.4.11:: XEmacs is outputting lots of X errors.
313 * Q2.4.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed? 319 * Q2.4.12:: After upgrading, XEmacs won't do `foo' any more!
320
321 2.5: Startup-Related Problems
322 * Q2.5.1:: XEmacs cannot connect to my X Terminal!
323 * Q2.5.2:: Startup problems related to paths or package locations.
324 * Q2.5.3:: XEmacs won't start without network.
325 * Q2.5.4:: Startup warnings about deducing proper fonts?
326 * Q2.5.5:: Warnings from incorrect key modifiers.
327 * Q2.5.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
314 328
315 3 Editing Functions 329 3 Editing Functions
316 330
317 3.0: The Keyboard 331 3.0: The Keyboard
318 * Q3.0.1:: How can I customize the keyboard? 332 * Q3.0.1:: How can I customize the keyboard?
507 * Q7.1.9:: How do I put a glyph as annotation in a buffer? 521 * Q7.1.9:: How do I put a glyph as annotation in a buffer?
508 * Q7.1.10:: @code{map-extents} won't traverse all of my extents! 522 * Q7.1.10:: @code{map-extents} won't traverse all of my extents!
509 * Q7.1.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time? 523 * Q7.1.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
510 524
511 7.2: Mathematics 525 7.2: Mathematics
512 * Q7.1.1:: What are bignums, ratios, and bigfloats in Lisp? 526 * Q7.2.1:: What are bignums, ratios, and bigfloats in Lisp?
513 * Q7.1.2:: XEmacs segfaults when I use very big numbers! 527 * Q7.2.2:: XEmacs segfaults when I use very big numbers!
514 * Q7.1.3:: Bignums are really slow! 528 * Q7.2.3:: Bignums are really slow!
515 * Q7.1.4:: Equal bignums don't compare as equal! What gives? 529 * Q7.2.4:: Equal bignums don't compare as equal! What gives?
516 530
517 8 Other External Packages 531 8 Other External Packages
518 532
519 8.0: TeX 533 8.0: TeX
520 * Q8.0.1:: Is there something better than LaTeX mode? 534 * Q8.0.1:: Is there something better than LaTeX mode?
545 559
546 10 New information about old XEmacsen 560 10 New information about old XEmacsen
547 561
548 10.0: XEmacs 21.1 562 10.0: XEmacs 21.1
549 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1. 563 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
564 * Q10.0.2:: XEmacs won't start on Windows in XEmacs 21.1.
565
550 @end detailmenu 566 @end detailmenu
551 @end menu 567 @end menu
552 568
553 @node Introduction, Installation, Top, Top 569 @node Introduction, Installation, Top, Top
554 @unnumbered 1 Introduction, Policy, Credits 570 @unnumbered 1 Introduction, Policy, Credits
610 * Q1.2.10:: Is there a port of XEmacs to OS/2? 626 * Q1.2.10:: Is there a port of XEmacs to OS/2?
611 * Q1.2.11:: Is there a port of XEmacs to NextStep? 627 * Q1.2.11:: Is there a port of XEmacs to NextStep?
612 * Q1.2.12:: Is there a port of XEmacs to VMS? 628 * Q1.2.12:: Is there a port of XEmacs to VMS?
613 629
614 1.3: Getting Started 630 1.3: Getting Started
615 * Q1.2.13::
616 * Q1.3.1:: What is an @file{init.el} or @file{.emacs} and is there a sample one? 631 * Q1.3.1:: What is an @file{init.el} or @file{.emacs} and is there a sample one?
617 * Q1.3.2:: Where do I put my @file{init.el} file? 632 * Q1.3.2:: Where do I put my @file{init.el} file?
618 * Q1.3.3:: Can I use the same @file{init.el} with the other Emacs? 633 * Q1.3.3:: Can I use the same @file{init.el} with the other Emacs?
619 * Q1.3.4:: Any good XEmacs tutorials around? 634 * Q1.3.4:: Any good XEmacs tutorials around?
620 * Q1.3.5:: May I see an example of a useful XEmacs Lisp function? 635 * Q1.3.5:: May I see an example of a useful XEmacs Lisp function?
623 * Q1.3.8:: What is @code{Custom}? 638 * Q1.3.8:: What is @code{Custom}?
624 639
625 1.4: Getting Help 640 1.4: Getting Help
626 * Q1.4.1:: Where can I get help? 641 * Q1.4.1:: Where can I get help?
627 * Q1.4.2:: Which mailing lists are there? 642 * Q1.4.2:: Which mailing lists are there?
628 * Q1.4.3:: How can I get two instances of info? 643 * Q1.4.3:: Where are the mailing lists archived?
629 * Q1.4.4:: How do I add new Info directories? 644 * Q1.4.4:: How can I get two instances of info?
645 * Q1.4.5:: How do I add new Info directories?
630 646
631 1.5: Contributing to XEmacs 647 1.5: Contributing to XEmacs
632 * Q1.4.5::
633 * Q1.5.1:: How do I submit changes to the FAQ? 648 * Q1.5.1:: How do I submit changes to the FAQ?
634 * Q1.5.2:: How do I become a beta tester? 649 * Q1.5.2:: How do I become a beta tester?
635 * Q1.5.3:: How do I contribute to XEmacs itself? 650 * Q1.5.3:: How do I contribute to XEmacs itself?
651 * Q1.5.4:: How do I get started developing XEmacs?
652 * Q1.5.5:: What's the basic layout of the code?
636 653
637 1.6: Politics (XEmacs vs. GNU Emacs) 654 1.6: Politics (XEmacs vs. GNU Emacs)
638 * Q1.6.1:: What is GNU Emacs? 655 * Q1.6.1:: What is GNU Emacs?
639 * Q1.6.2:: How does XEmacs differ from GNU Emacs? 656 * Q1.6.2:: How does XEmacs differ from GNU Emacs?
640 * Q1.6.3:: How much does XEmacs differ? 657 * Q1.6.3:: How much does XEmacs differ?
641 * Q1.6.4:: Is XEmacs "GNU"? 658 * Q1.6.4:: Is XEmacs "GNU"?
642 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs? 659 * Q1.6.5:: What is the correct way to refer to XEmacs and GNU Emacs?
643 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged? 660 * Q1.6.6:: Why haven't XEmacs and GNU Emacs merged?
644 661
645 1.7: External Packages 662 1.7: External Packages
646 * Q1.7.1:: Which external packages are there? 663 * Q1.7.1:: What is the package system?
664 * Q1.7.2:: Which external packages are there?
665 * Q1.7.3:: Do I need to have the packages to run XEmacs?
666 * Q1.7.4:: Is there a way to find which package has particular functionality?
647 667
648 1.8: Internationalization 668 1.8: Internationalization
649 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)? 669 * Q1.8.1:: What is the status of internationalization support aka MULE (including Asian language support)?
650 * Q1.8.2:: How can I help with internationalization? 670 * Q1.8.2:: How can I help with internationalization?
651 * Q1.8.3:: How do I type non-ASCII characters? 671 * Q1.8.3:: How do I type non-ASCII characters?
1040 full color support on a color-capable character terminal. 1060 full color support on a color-capable character terminal.
1041 1061
1042 @node Q1.2.2, Q1.2.3, Q1.2.1, Introduction 1062 @node Q1.2.2, Q1.2.3, Q1.2.1, Introduction
1043 @unnumberedsubsec Q1.2.2: What versions of Unix does XEmacs run on? 1063 @unnumberedsubsec Q1.2.2: What versions of Unix does XEmacs run on?
1044 1064
1065 XEmacs is regularly tested on Linux, Solaris, SunOS, HP/UX, FreeBSD,
1066 OpenBSD, BSD/OS aka BSDI, Tru64 aka DEC/OSF, SCO5, and probably
1067 others. It should work on all versions of Unix created in the last 10
1068 years or so, perhaps with a bit of work on more obscure platforms to
1069 correct bit-rot. It uses a sophisticated configuration system to
1070 auto-detect zillions of features that are implemented differently in
1071 different versions of Unix, so it will probably work on your vendor's
1072 version, possibly with a bit of tweaking, even if we've never heard of
1073 it.
1074
1045 For problems with particular machines and versions of Unix, see the 1075 For problems with particular machines and versions of Unix, see the
1046 @file{PROBLEMS} file. 1076 @file{PROBLEMS} file.
1047 1077
1048 Much effort has gone into making XEmacs work on as many different 1078 Much effort has gone into making XEmacs work on as many different
1049 machines, configurations, and compilers as possible. 1079 machines, configurations, and compilers as possible.
1148 When built with Cygwin, XEmacs supports all display types -- TTY, X & 1178 When built with Cygwin, XEmacs supports all display types -- TTY, X &
1149 Win32 GUI, and can be built with support for all three simultaneously. 1179 Win32 GUI, and can be built with support for all three simultaneously.
1150 If you build with Win32 GUI support then the Cygwin version uses the 1180 If you build with Win32 GUI support then the Cygwin version uses the
1151 majority of the Windows-specific code, which is mostly related to 1181 majority of the Windows-specific code, which is mostly related to
1152 display. If you want to build with X support you need X libraries (and 1182 display. If you want to build with X support you need X libraries (and
1153 an X server to display XEmacs on); see @ref{Q2.2.7}. TTY and Win32 GUI 1183 an X server to display XEmacs on); see @ref{Q2.3.7}. TTY and Win32 GUI
1154 require no additional libraries beyond what comes standard with Cygwin. 1184 require no additional libraries beyond what comes standard with Cygwin.
1155 1185
1156 The advantages of the Cygwin version are that it integrates well with 1186 The advantages of the Cygwin version are that it integrates well with
1157 the Cygwin environment for existing Cygwin users; uses configure so 1187 the Cygwin environment for existing Cygwin users; uses configure so
1158 building with different features is very easy; and actively supports X & 1188 building with different features is very easy; and actively supports X &
1314 mode only (one single Macintosh window, 25 colors), but has a large 1344 mode only (one single Macintosh window, 25 colors), but has a large
1315 number of Mac-specific additions. It's available at 1345 number of Mac-specific additions. It's available at
1316 @uref{http://homepage.mac.com/pjarvis/xemacs.html}. 1346 @uref{http://homepage.mac.com/pjarvis/xemacs.html}.
1317 1347
1318 @node Q1.2.9, Q1.2.10, Q1.2.8, Introduction 1348 @node Q1.2.9, Q1.2.10, Q1.2.8, Introduction
1319 @unnumberedsubsec Q1.2.9: Is there a port of XEmacs to the Macintosh? 1349 @unnumberedsubsec Q1.2.9: Is there a port of XEmacs to MS-DOS?
1320 1350
1321 Yes. 1351 No. We have never supported running on MS-DOS or Windows 3.1, and in
1322 1352 fact have long since deleted all MS-DOS-related code. We're not
1323 XEmacs 21.5 (perhaps 21.4 also?) works on MacOS X, although it certainly 1353 particularly interested in patches for these platforms, as they would
1324 will not feel very much like a Mac application as it has no Mac-specific 1354 introduce huge amounts of code clutter due to the woefully
1325 code in it. 1355 underfeatured nature of these systems. (See GNU Emacs for a port to
1326 1356 MS-DOS.)
1327 There is also a port of XEmacs 19.14 that works on all recent versions
1328 of MacOS, from 8.1 through MacOS X, by @email{pjarvis@@ispchannel.com,
1329 Pitts Jarvis} (recently deceased). It runs in an equivalent of TTY
1330 mode only (one single Macintosh window, 25 colors), but has a large
1331 number of Mac-specific additions. It's available at
1332 @uref{http://homepage.mac.com/pjarvis/xemacs.html}.
1333 1357
1334 @node Q1.2.10, Q1.2.11, Q1.2.9, Introduction 1358 @node Q1.2.10, Q1.2.11, Q1.2.9, Introduction
1335 @unnumberedsubsec Q1.2.10: Is there a port of XEmacs to MS-DOS? 1359 @unnumberedsubsec Q1.2.10: Is there a port of XEmacs to OS/2?
1336
1337 No. We have never supported running on MS-DOS or Windows 3.1, and in
1338 fact have long since deleted all MS-DOS-related code.
1339
1340 @node Q1.2.11, Q1.2.12, Q1.2.10, Introduction
1341 @unnumberedsubsec Q1.2.11: Is there a port of XEmacs to OS/2?
1342 1360
1343 No, but Alexander Nikolaev <avn_1251@@mail.ru> was at one point 1361 No, but Alexander Nikolaev <avn_1251@@mail.ru> was at one point
1344 working on it. 1362 working on it.
1345 1363
1346 @node Q1.2.12, Q1.2.13, Q1.2.11, Introduction 1364 @node Q1.2.11, Q1.2.12, Q1.2.10, Introduction
1347 @unnumberedsubsec Q1.2.12: Is there a port of XEmacs to NextStep? 1365 @unnumberedsubsec Q1.2.11: Is there a port of XEmacs to NextStep?
1348 1366
1349 Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did 1367 Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did
1350 the port of GNU Emacs to NeXTstep and expressed interest in doing the 1368 the port of GNU Emacs to NeXTstep and expressed interest in doing the
1351 XEmacs port, but never went any farther. 1369 XEmacs port, but never went any farther.
1352 1370
1353 @node Q1.2.13, Q1.3.1, Q1.2.12, Introduction 1371 @node Q1.2.12, Q1.3.1, Q1.2.11, Introduction
1354 @unnumberedsubsec Q1.2.13: Is there a port of XEmacs to VMS? 1372 @unnumberedsubsec Q1.2.12: Is there a port of XEmacs to VMS?
1355 1373
1356 VMS has never been supported by XEmacs. In fact, all the old VMS code 1374 VMS has never been supported by XEmacs. In fact, all the old VMS code
1357 inherited from GNU Emacs has been removed. Sorry, all you VMS fans 1375 inherited from GNU Emacs has been removed. Sorry, all you VMS fans
1358 out there. 1376 out there.
1359 1377
1360 @unnumberedsec 1.3: Getting Started 1378 @unnumberedsec 1.3: Getting Started
1361 1379
1362 @node Q1.3.1, Q1.3.2, Q1.2.13, Introduction 1380 @node Q1.3.1, Q1.3.2, Q1.2.12, Introduction
1363 @unnumberedsubsec Q1.3.1: What is an @file{init.el} or @file{.emacs} and is there a sample one? 1381 @unnumberedsubsec Q1.3.1: What is an @file{init.el} or @file{.emacs} and is there a sample one?
1364 1382
1365 The @file{init.el} or @file{.emacs} file is used to customize XEmacs to 1383 The @file{init.el} or @file{.emacs} file is used to customize XEmacs to
1366 your tastes. Starting in 21.4, the preferred location for the init file 1384 your tastes. Starting in 21.4, the preferred location for the init file
1367 is @file{~/.xemacs/init.el}; in previous versions, it was 1385 is @file{~/.xemacs/init.el}; in previous versions, it was
1554 is a read-only, low 1572 is a read-only, low
1555 volume list for announcements concerning the XEmacs project 1573 volume list for announcements concerning the XEmacs project
1556 and new releases of the XEmacs software. 1574 and new releases of the XEmacs software.
1557 1575
1558 @item xemacs-beta 1576 @item xemacs-beta
1559 is an open list for bug 1577 is an open list for bug reports about beta versions of XEmacs. This
1560 reports about beta versions of XEmacs. This includes the bug 1578 includes the bug reports themselves, by both users and developers, as
1561 reports themselves, by both users and developers, as well as 1579 well as queries, follow-ups, and discussions further determining their
1562 queries, follow-ups, and discussions further determining their 1580 nature and status. This is the primary channel for this kind of
1563 nature and status. This is the primary channel for this kind 1581 discussion; related code changes will usually not be applied until
1564 of discussion; related code changes will usually not be 1582 they have been discussed here. When such discussions touch on
1565 applied until they have been discussed here. When such 1583 significant changes to the code (in particular, structural changes),
1566 discussions touch on significant changes to the code (in 1584 or on changes to API's or external functionality, they should be moved
1567 particular, structural changes), or on changes to API's or 1585 to @samp{xemacs-design}. Requests and proposals for non-bug-related
1568 external functionality, they should be moved to 1586 changes do not belong on @samp{xemacs-beta}, and should be sent to
1569 @samp{xemacs-design}. Requests and proposals for 1587 @samp{xemacs-design} instead.
1570 non-bug-related changes do not belong on @samp{xemacs-beta},
1571 and should be sent to @samp{xemacs-design} instead.
1572 1588
1573 @item xemacs-beta-ja 1589 @item xemacs-beta-ja
1574 is an open list for bug 1590 is an open list for bug
1575 reports and design discussion related to Mule features, 1591 reports and design discussion related to Mule features,
1576 including Japanese handling, in beta versions of XEmacs. 1592 including Japanese handling, in beta versions of XEmacs.
1732 the line @samp{subscribe} in the body of the message. 1748 the line @samp{subscribe} in the body of the message.
1733 1749
1734 Be prepared to get your hands dirty, as beta testers are expected to 1750 Be prepared to get your hands dirty, as beta testers are expected to
1735 identify problems as best they can. 1751 identify problems as best they can.
1736 1752
1737 @node Q1.5.3, Q1.6.1, Q1.5.2, Introduction 1753 @node Q1.5.3, Q1.5.4, Q1.5.2, Introduction
1738 @unnumberedsubsec Q1.5.3: How do I contribute to XEmacs itself? 1754 @unnumberedsubsec Q1.5.3: How do I contribute to XEmacs itself?
1739 1755
1740 It depends on the knowledge and time you possess. If you are able, by 1756 It depends on the knowledge and time you possess. If you are able, by
1741 all means become a beta tester (@pxref{Q1.5.2}). If you are a 1757 all means become a beta tester (@pxref{Q1.5.2}). If you are a
1742 programmer, try to build XEmacs and see if you can improve it. 1758 programmer, try to build XEmacs and see if you can improve it.
1776 1792
1777 (not that we're necessarily requiring you to write the code, but we can 1793 (not that we're necessarily requiring you to write the code, but we can
1778 always hope :) 1794 always hope :)
1779 @end quotation 1795 @end quotation
1780 1796
1797 @node Q1.5.4, Q1.5.5, Q1.5.3, Introduction
1798 @unnumberedsubsec Q1.5.4: How do I get started developing XEmacs?
1799
1800 First, get yourself set up under CVS so that you can access the CVS
1801 repositories containing the XEmacs sources and the XEmacs packages.
1802
1803 Next, set up your layout. This is important, as a good layout will
1804 facilitate getting things done efficiently, while a bad layout will could
1805 lead to disaster, as you can't figure out which code is the most recent,
1806 which can be thrown away, etc. We suggest the following layout: (feel free
1807 to make changes)
1808
1809 @itemize @bullet
1810 @item
1811 Everything goes under @file{/src/xemacs} (use a different directory if
1812 you want). From now, instead of saying @file{/src/xemacs}, we use
1813 @file{<xsrc-top>}, to make it easier in case someone picked a
1814 different directory.
1815
1816 @item
1817 Package source is in @file{<xsrc-top>/package-src}.
1818
1819 @item
1820 Installed packages go under @file{<xsrc-top>/xemacs-packages}, and
1821 @file{<xsrc-top>/mule-packages}.
1822
1823 @item
1824 A "workspace" is a complete copy of the sources, in which you do work of
1825 a particular kind. Workspaces can be differentiated by which branch of
1826 the source tree they extend off of -- usually either the stable or
1827 experimental, unless other branches have been created (for example, Ben
1828 created a branch for his Mule work because (1) the project was long-term
1829 and involved an enormous number of changes, (2) people wanted to be able
1830 to look at what his work in progress, and (3) he wanted to be able to
1831 check things in and in general use source-code control, since it was a
1832 long-term project). Workspaces are also differentiated in what their
1833 purpose is -- general working workspace, workspace for particular
1834 projects, workspace keeping the latest copy of the code in one of the
1835 branches without mods, etc.
1836
1837 @item
1838 Various workspaces are subdirectories under @file{<xsrc-top>}, e.g.:
1839
1840 @itemize @bullet
1841 @item
1842 @file{<xsrc-top>/working} (the workspace you're actively working on,
1843 periodically synched up with the latest trunk)
1844
1845 @item
1846 @file{<xsrc-top>/stable} (for making changes to the stable version of
1847 XEmacs, which sits on a branch)
1848
1849 @item
1850 @file{<xsrc-top>/unsigned-removal} (a workspace for a specific, difficult
1851 task that's going to affect lots of source and take a long time, and
1852 so best done in its own workspace without the interference of other
1853 work you're doing. Also, you can commit just this one large change,
1854 separate from all the other changes).
1855
1856 @item
1857 @file{<xsrc-top>/latest} (a copy of the latest sources on the trunk,
1858 i.e. the experimental version of XEmacs, with no patches in it;
1859 either update it periodically, by hand, or set up a cron job to do it
1860 automatically). Set it up so it can be built, and build it so you
1861 have a working XEmacs. (Building it might also go into the cron job.)
1862
1863 This workspace serves a number of purposes:
1864 @enumerate
1865 @item
1866 You always have a recent version of XEmacs you can compare
1867 against when something you're working on breaks. It's true
1868 that you can do this with cvs diff, but when you need to do
1869 some serious investigation, this method just fails.
1870 @item
1871 You (almost) always have a working, up-to-date executable that
1872 can be used when your executable is crashing and you need to
1873 keep developing it, or when you need an `xemacs' to build
1874 packages, etc.
1875 @item
1876 When creating new workspaces, you can just copy the `latest'
1877 workspace using GNU @code{cp -a}. You have all the .elc's built,
1878 everything else probably configured, any spare files in place
1879 (e.g. some annoying xpm.dll under Windows, etc.).
1880 @end enumerate
1881
1882 @item
1883 @file{<xsrc-top>/latest-stable/} (equivalent to @file{<xsrc-top>/latest/}, but
1884 for the Stable branch of XEmacs, rather than the Experimental branch
1885 of XEmacs). This may or may not be necessary depending on how much
1886 development you do of the stable branch.
1887 @end itemize
1888
1889 @item
1890 @file{<xsrc-top>/xemacsweb} is a workspace for working on the XEmacs
1891 web site.
1892
1893 @item
1894 @file{<xsrc-top>/in-patches} for patches received from email and saved
1895 to files.
1896
1897 @item
1898 @file{<xsrc-top>/out-patches} for locally-generated patches to be sent
1899 to @email{xemacs-patches@@xemacs.org}. Less useful now that the
1900 patcher util has been developed.
1901
1902 @item
1903 @file{<xsrc-top>/build}, for build trees when compiling and testing XEmacs with
1904 various configuration options turned off and on. The scripts in
1905 xemacs-builds/ben (see below) can be used to automate building XEmacs
1906 workspaces with many different configuration options and automatically
1907 filtering out the normal output so that you see only the abnormal
1908 output.
1909
1910 @item
1911 @file{<xsrc-top>/xemacs-builds}, for the xemacs-builds module, which you need
1912 to check out separately in CVS. This contains scripts used for building
1913 XEmacs, automating and simplifying using CVS, etc. Under various
1914 people's directories are their own build and other scripts. The
1915 currently most-maintained scripts are under ben/, where there are easily
1916 configurable scripts that can be used to easily build any workspace
1917 (esp. if you've more or less followed the layout presented above)
1918 unattended, with one or more configuration states (there's a
1919 pre-determined list of the most useful, but it's easy to change). The
1920 output is filtered and split up in various ways so that you can identify
1921 which output came from where, and you can see the output either full or
1922 with all "normal" output except occasional status messages filtered so
1923 that you only see the abnormal ones.
1924 @end itemize
1925
1926 @node Q1.5.5, Q1.6.1, Q1.5.4, Introduction
1927 @unnumberedsubsec Q1.5.5: What's the basic layout of the code?
1928
1929 The file @file{configure} is a shell script to acclimate XEmacs to the
1930 oddities of your processor and operating system. It will create a
1931 file named @file{Makefile} (a script for the @file{make} program), which helps
1932 automate the process of building and installing emacs. See INSTALL
1933 for more detailed information.
1934
1935 The file @file{configure.in} is the input used by the autoconf program to
1936 construct the @file{configure} script. Since XEmacs has configuration
1937 requirements that autoconf can't meet, @file{configure.in} uses an unholy
1938 marriage of custom-baked configuration code and autoconf macros; it
1939 may be wise to avoid rebuilding @file{configure} from @file{configure.in} when
1940 possible.
1941
1942 The file @file{Makefile.in} is a template used by @file{configure} to create
1943 @file{Makefile}.
1944
1945 There are several subdirectories:
1946
1947 @enumerate
1948 @item
1949 @file{src} holds the C code for XEmacs (the XEmacs Lisp interpreter and its
1950 primitives, the redisplay code, and some basic editing functions).
1951 @item
1952 @file{lisp} holds the XEmacs Lisp code for XEmacs (most everything else).
1953 @item
1954 @file{lib-src} holds the source code for some utility programs for use by
1955 or with XEmacs, like movemail and etags.
1956 @item
1957 @file{etc} holds miscellaneous architecture-independent data files
1958 XEmacs uses, like the tutorial text. The contents of the @file{lisp},
1959 @file{info} and @file{man} subdirectories are architecture-independent too.
1960 @item
1961 @file{lwlib} holds the C code for the X toolkit objects used by XEmacs.
1962 @item
1963 @file{info} holds the Info documentation tree for XEmacs.
1964 @item
1965 @file{man} holds the source code for the XEmacs online documentation.
1966 @item
1967 @file{nt} holds files used compiling XEmacs under Microsoft Windows.
1968 @end enumerate
1969
1781 @unnumberedsec 1.6: Politics (XEmacs vs. GNU Emacs) 1970 @unnumberedsec 1.6: Politics (XEmacs vs. GNU Emacs)
1782 1971
1783 @node Q1.6.1, Q1.6.2, Q1.5.3, Introduction 1972 @node Q1.6.1, Q1.6.2, Q1.5.5, Introduction
1784 @unnumberedsubsec Q1.6.1: What is GNU Emacs? 1973 @unnumberedsubsec Q1.6.1: What is GNU Emacs?
1785 1974
1786 GNU Emacs and XEmacs are related open-source text editors. Both 1975 GNU Emacs and XEmacs are related open-source text editors. Both
1787 derive from GNU Emacs version 18; the split between the two happened 1976 derive from GNU Emacs version 18; the split between the two happened
1788 in 1991 (for comparison, the oldest versions of GNU Emacs date from 1977 in 1991 (for comparison, the oldest versions of GNU Emacs date from
2112 that often result. Mail your questions to 2301 that often result. Mail your questions to
2113 @email{xemacs-beta@@xemacs.org} and @email{emacs-devel@@gnu.org}. 2302 @email{xemacs-beta@@xemacs.org} and @email{emacs-devel@@gnu.org}.
2114 2303
2115 @unnumberedsec 1.7: External Packages 2304 @unnumberedsec 1.7: External Packages
2116 2305
2117 @node Q1.7.1, Q1.8.1, Q1.6.6, Introduction 2306 @node Q1.7.1, Q1.7.2, Q1.6.6, Introduction
2118 @unnumberedsubsec Q1.7.1: Which external packages are there? 2307 @unnumberedsubsec Q1.7.1: What is the package system?
2308
2309 In order to reduce the size and increase the maintainability of
2310 XEmacs, the majority of the Elisp packages that came with previous
2311 releases have been unbundled. They have been replaced by the package
2312 system. Each elisp add-on (or groups of them when they are small) now
2313 comes in its own tarball that contains a small search hierarchy.
2314
2315 You select just the ones you need. Install them by untarring them into
2316 the right place. On startup XEmacs will find them, set up the load
2317 path correctly, install autoloads, etc, etc.
2318
2319 @xref{Q2.1.1}, for more info on how to download and install the packages.
2320
2321 @node Q1.7.2, Q1.7.3, Q1.7.1, Introduction
2322 @unnumberedsubsec Q1.7.2: Which external packages are there?
2119 2323
2120 @subheading Normal Packages 2324 @subheading Normal Packages
2121 2325
2122 A very broad collection of elisp packages. 2326 A very broad collection of elisp packages.
2123 2327
2525 @item skk 2729 @item skk
2526 Another Japanese Language Input Method. Can be used without a 2730 Another Japanese Language Input Method. Can be used without a
2527 separate process running as a dictionary server. 2731 separate process running as a dictionary server.
2528 @end table 2732 @end table
2529 2733
2734 @node Q1.7.3, Q1.7.4, Q1.7.2, Introduction
2735 @unnumberedsubsec Q1.7.3: Do I need to have the packages to run XEmacs?
2736
2737 Strictly speaking, no. XEmacs will build and install just fine without
2738 any packages installed. However, only the most basic editing functions
2739 will be available with no packages installed, so installing packages is
2740 an essential part of making your installed XEmacs _useful_.
2741
2742 @node Q1.7.4, Q1.8.1, Q1.7.3, Introduction
2743 @unnumberedsubsec Q1.7.4: Is there a way to find which package has particular functionality?
2744
2745 If you want to find out which package contains the functionality you
2746 are looking for, use @kbd{M-x package-get-package-provider}, and give it a
2747 symbol that is likely to be in that package.
2748
2749 For example, if some code you want to use has a @code{(require 'thingatpt)}
2750 in it:
2751
2752 @example
2753 M-x package-get-package-provider RET thingatpt RET
2754 @end example
2755
2756 which will return something like: @samp{(fsf-compat "1.08").}
2757
2530 @unnumberedsec 1.8: Internationalization 2758 @unnumberedsec 1.8: Internationalization
2531 2759
2532 @node Q1.8.1, Q1.8.2, Q1.7.1, Introduction 2760 @node Q1.8.1, Q1.8.2, Q1.7.4, Introduction
2533 @unnumberedsubsec Q1.8.1: What is the status of internationalization support aka MULE (including Asian language support)? 2761 @unnumberedsubsec Q1.8.1: What is the status of internationalization support aka MULE (including Asian language support)?
2534 2762
2535 Both the stable and development versions of XEmacs include 2763 Both the stable and development versions of XEmacs include
2536 internationalization support (aka MULE). MULE currently (21.4) works on 2764 internationalization support (aka MULE). MULE currently (21.4) works on
2537 UNIX and Linux systems. It is possible to build with MULE on Windows 2765 UNIX and Linux systems. It is possible to build with MULE on Windows
2838 3066
2839 This is part 2 of the XEmacs Frequently Asked Questions list. This 3067 This is part 2 of the XEmacs Frequently Asked Questions list. This
2840 section is devoted to Installation, Maintenance and Troubleshooting. 3068 section is devoted to Installation, Maintenance and Troubleshooting.
2841 3069
2842 @menu 3070 @menu
2843 2.0: Installation (General), Packages 3071 2.0: Installation (General)
2844 * Q2.0.1:: How do I install the packages? 3072 * Q2.0.1:: How do I build and install XEmacs?
2845 * Q2.0.2:: I don't need no steenkin' packages. Do I? 3073 * Q2.0.2:: Where do I find external libraries?
2846 * Q2.0.3:: Where do I find external libraries? 3074 * Q2.0.3:: How do I specify the paths that XEmacs uses for finding files?
2847 * Q2.0.4:: How do I specify the paths that XEmacs uses for finding files? 3075 * Q2.0.4:: Running XEmacs without installing
2848 * Q2.0.5:: Running XEmacs without installing 3076 * Q2.0.5:: XEmacs is too big
2849 * Q2.0.6:: XEmacs is too big 3077
2850 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW) 3078 2.1: Package Installation
2851 3079 * Q2.1.1:: How do I install the packages?
2852 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW) 3080 * Q2.1.2:: Can I install the packages individually?
2853 * Q2.1.1:: Libraries in non-standard locations 3081 * Q2.1.3:: Can I install the packages automatically?
2854 * Q2.1.2:: Why can't I strip XEmacs? 3082 * Q2.1.4:: Can I upgrade or remove packages?
2855 3083 * Q2.1.5:: Which packages to install?
2856 2.2: Windows Installation (Windows, Cygwin, MinGW) 3084 * Q2.1.6:: Can you describe the package location process in more detail?
2857 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows? 3085 * Q2.1.7:: EFS fails with "500 AUTH not understood"
2858 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs? 3086
2859 * Q2.2.3:: How do I compile the native port? 3087 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
2860 * Q2.2.4:: What do I need for Cygwin? 3088 * Q2.2.1:: Libraries in non-standard locations
2861 * Q2.2.5:: How do I compile under Cygwin? 3089 * Q2.2.2:: Why can't I strip XEmacs?
2862 * Q2.2.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? 3090
2863 * Q2.2.7:: How do I compile with X support? 3091 2.3: Windows Installation (Windows, Cygwin, MinGW)
2864 * Q2.2.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW) 3092 * Q2.3.1:: What exactly are all the different ways to build XEmacs under Windows?
2865 3093 * Q2.3.2:: What compiler/libraries do I need to compile XEmacs?
2866 2.3: General Troubleshooting 3094 * Q2.3.3:: How do I compile the native port?
2867 * Q2.3.1:: Help! XEmacs just crashed on me! 3095 * Q2.3.4:: What do I need for Cygwin?
2868 * Q2.3.2:: XEmacs crashes and I compiled it myself. 3096 * Q2.3.5:: How do I compile under Cygwin?
2869 * Q2.3.3:: How to debug an XEmacs problem with a debugger 3097 * Q2.3.6:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
2870 * Q2.3.4:: I get a cryptic error message when trying to do something. 3098 * Q2.3.7:: How do I compile with X support?
2871 * Q2.3.5:: XEmacs hangs when I try to do something. 3099 * Q2.3.8:: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
2872 * Q2.3.6:: I get an error message when XEmacs is running in batch mode. 3100
2873 * Q2.3.7:: The keyboard or mouse is not working properly, or I have some other event-related problem. 3101 2.4: General Troubleshooting
2874 * Q2.3.8:: @kbd{C-g} doesn't work for me. Is it broken? 3102 * Q2.4.1:: How do I deal with bugs or with problems building, installing, or running?
2875 * Q2.3.9:: How do I debug process-related problems? 3103 * Q2.4.2:: Help! XEmacs just crashed on me!
2876 * Q2.3.10:: XEmacs is outputting lots of X errors. 3104 * Q2.4.3:: XEmacs crashes and I compiled it myself.
2877 * Q2.3.11:: After upgrading, XEmacs won't do `foo' any more! 3105 * Q2.4.4:: How to debug an XEmacs problem with a debugger
2878 3106 * Q2.4.5:: I get a cryptic error message when trying to do something.
2879 2.4: Startup-Related Problems 3107 * Q2.4.6:: XEmacs hangs when I try to do something.
2880 * Q2.4.1:: XEmacs cannot connect to my X Terminal! 3108 * Q2.4.7:: I get an error message when XEmacs is running in batch mode.
2881 * Q2.4.2:: XEmacs won't start on Windows. 3109 * Q2.4.8:: The keyboard or mouse is not working properly, or I have some other event-related problem.
2882 * Q2.4.3:: XEmacs won't start without network. 3110 * Q2.4.9:: @kbd{C-g} doesn't work for me. Is it broken?
2883 * Q2.4.4:: Startup warnings about deducing proper fonts? 3111 * Q2.4.10:: How do I debug process-related problems?
2884 * Q2.4.5:: Warnings from incorrect key modifiers. 3112 * Q2.4.11:: XEmacs is outputting lots of X errors.
2885 * Q2.4.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed? 3113 * Q2.4.12:: After upgrading, XEmacs won't do `foo' any more!
3114
3115 2.5: Startup-Related Problems
3116 * Q2.5.1:: XEmacs cannot connect to my X Terminal!
3117 * Q2.5.2:: Startup problems related to paths or package locations.
3118 * Q2.5.3:: XEmacs won't start without network.
3119 * Q2.5.4:: Startup warnings about deducing proper fonts?
3120 * Q2.5.5:: Warnings from incorrect key modifiers.
3121 * Q2.5.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
2886 @end menu 3122 @end menu
2887 3123
2888 @unnumberedsec 2.0: Installation (General), Packages 3124 @unnumberedsec 2.0: Installation (General)
2889 3125
2890 @node Q2.0.1, Q2.0.2, Installation, Installation 3126 @node Q2.0.1, Q2.0.2, Installation, Installation
2891 @unnumberedsubsec Q2.0.1: How do I install the packages? 3127 @unnumberedsubsec Q2.0.1: How do I build and install XEmacs?
2892 3128
2893 Many people really liked the old way that packages were bundled and do 3129 See the file @file{etc/NEWS} for information on new features and other
2894 not want to mess with packages at all. You can grab all the packages at 3130 user-visible changes since the last version of XEmacs.
2895 once like you used to with old XEmacs versions. Download the file 3131
3132 The file @file{INSTALL} in the top-level directory says how to bring
3133 up XEmacs on Unix and Cygwin, once you have loaded the entire subtree
3134 of this directory.
3135
3136 See the file @file{nt/README} for instructions on building XEmacs for
3137 Microsoft Windows.
3138
3139 @xref{Q2.1.1}, for the installation of (essential) add on packages.
3140
3141 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
3142 @unnumberedsubsec Q2.0.2: Where do I find external libraries?
3143
3144 All external libraries used by XEmacs can be found on the XEmacs web
3145 site
3146 @iftex
3147 @*
3148 @end iftex
3149 @uref{http://www.xemacs.org/Download/optLibs.html}.
3150
3151 The library versions available here are known to work with XEmacs.
3152 (Newer versions will probably work as well but we can't guarantee it.)
3153 We try to keep the libraries up-to-date but may not always succeed.
3154 Check the above page for the canonical locations of the external libraries,
3155 allowing you to download the latest, bleeding-edge versions.
3156
3157 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
3158 @unnumberedsubsec Q2.0.3: How do I specify the paths that XEmacs uses for finding files?
3159
3160 You can specify what paths to use by using a number of different flags
3161 when running configure. See the section MAKE VARIABLES in the top-level
3162 file INSTALL in the XEmacs distribution for a listing of those flags.
3163
3164 Most of the time, however, the simplest fix is: @strong{do not} specify
3165 paths as you might for GNU Emacs. XEmacs can generally determine the
3166 necessary paths dynamically at run time. The only path that generally
3167 needs to be specified is the root directory to install into. That can
3168 be specified by passing the @code{--prefix} flag to configure. For a
3169 description of the XEmacs install tree, please consult the @file{NEWS}
3170 file.
3171
3172 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation
3173 @unnumberedsubsec Q2.0.4: Running XEmacs without installing
3174
3175 How can I just try XEmacs without installing it?
3176
3177 XEmacs will run in place without requiring installation and copying of
3178 the Lisp directories, and without having to specify a special build-time
3179 flag. It's the copying of the Lisp directories that requires so much
3180 space. XEmacs is largely written in Lisp.
3181
3182 A good method is to make a shell alias for xemacs:
3183
3184 @example
3185 alias xemacs=/src/xemacs-21.5/src/xemacs
3186 @end example
3187
3188 (You will obviously use whatever directory you downloaded the source
3189 tree to instead of @file{/src/xemacs-21.5}).
3190
3191 This will let you run XEmacs without massive copying.
3192
3193 @node Q2.0.5, Q2.1.1, Q2.0.4, Installation
3194 @unnumberedsubsec Q2.0.5: XEmacs is too big
3195
3196 The space required by the installation directories can be
3197 reduced dramatically if desired. Gzip all the .el files. Remove all
3198 the packages you'll never want to use. Remove the TexInfo manuals.
3199 Remove the Info (and use just hardcopy versions of the manual). Remove
3200 most of the stuff in etc. Remove or gzip all the source code. Gzip or
3201 remove the C source code. Configure it so that copies are not made of
3202 the support lisp.
3203
3204 These are all Emacs Lisp source code and bytecompiled object code. You
3205 may safely gzip everything named *.el here. You may remove any package
3206 you don't use. @emph{Nothing bad will happen if you delete a package
3207 that you do not use}. You must be sure you do not use it though, so be
3208 conservative at first.
3209
3210 Any package with the possible exceptions of xemacs-base, and EFS are
3211 candidates for removal. Ask yourself, @emph{Do I ever want to use this
3212 package?} If the answer is no, then it is a candidate for removal.
3213
3214 First, gzip all the .el files. Then go about package by package and
3215 start gzipping the .elc files. Then run XEmacs and do whatever it is
3216 you normally do. If nothing bad happens, then remove the package. You
3217 can remove a package via the PUI interface
3218 (@code{M-x pui-list-packages}, then press @kbd{d} to mark the packages
3219 you wish to delete, and then @kbd{x} to delete them.
3220
3221 Another method is to do @code{M-x package-get-delete-package}.
3222
3223 @unnumberedsec 2.1: Package Installation
3224
3225 @node Q2.1.1, Q2.1.2, Q2.0.5, Installation
3226 @unnumberedsubsec Q2.1.1: How do I install the packages?
3227
3228 There are three ways to install the packages.
3229
3230 @enumerate
3231 @item
3232 Manually, all at once, using the 'Sumo Tarball'.
3233 @item
3234 Manually, using individual package tarballs.
3235 @item
3236 Automatically, using the package tools from XEmacs.
3237 @end enumerate
3238
3239 If you don't want to mess with the packages, it is easiest to just
3240 grab them manually, all at once. (For the other two ways,
3241 @xref{Q2.1.2}, and @xref{Q2.1.3}.) Download the file
2896 3242
2897 @file{xemacs-sumo.tar.gz} 3243 @file{xemacs-sumo.tar.gz}
2898 3244
2899 For an XEmacs compiled with Mule you also need 3245 For an XEmacs compiled with Mule you also need
2900 3246
2901 @file{xemacs-mule-sumo.tar.gz} 3247 @file{xemacs-mule-sumo.tar.gz}
2902 3248
2903 These are in the @file{packages} directory on your XEmacs mirror 3249 These are in the @file{packages} directory on your XEmacs mirror
2904 archive. N.B. They are called 'Sumo Tarballs' for good reason. They 3250 archive: @uref{ftp://ftp.xemacs.org/pub/xemacs/packages} or its
2905 are currently about 15MB and 2.3MB (gzipped) respectively. 3251 mirrors. N.B. They are called 'Sumo Tarballs' for good reason. They
3252 are currently about 19MB and 4.5MB (gzipped) respectively.
2906 3253
2907 Install them on Unix and Mac OS X using the shell/Terminal command 3254 Install them on Unix and Mac OS X using the shell/Terminal command
2908 3255
2909 @code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -} 3256 @code{cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -}
2910 3257
2911 Where @samp{$prefix} is what you gave to the @samp{--prefix} flag to 3258 Where @samp{$prefix} is what you gave to the @samp{--prefix} flag to
2912 @file{configure}, and defaults to @file{/usr/local}. 3259 @file{configure}, and defaults to @file{/usr/local}.
3260
3261 If you have GNU tar you can use:
3262
3263 @code{cd $prefix/lib/xemacs ; tar zxvf <tarballname>}
2913 3264
2914 If you have the packages somewhere nonstandard and don't want to 3265 If you have the packages somewhere nonstandard and don't want to
2915 bother with @samp{$prefix} (for example, you're a developer and are 3266 bother with @samp{$prefix} (for example, you're a developer and are
2916 compiling the packages yourself, and want your own private copy of 3267 compiling the packages yourself, and want your own private copy of
2917 everything), you can also directly specify this using @file{configure}. 3268 everything), you can also directly specify this using @file{configure}.
2935 Note that XEmacs finds the packages automatically anywhere underneath 3286 Note that XEmacs finds the packages automatically anywhere underneath
2936 the directory tree where it expects to find the packages. All you 3287 the directory tree where it expects to find the packages. All you
2937 need to do is put stuff there; you don't need to run any program to 3288 need to do is put stuff there; you don't need to run any program to
2938 tell XEmacs to find the packges, or do anything of that sort. 3289 tell XEmacs to find the packges, or do anything of that sort.
2939 3290
2940 See @file{README.packages} in the top-level source directory for more 3291 However, XEmacs will only notice newly installed packages when it
2941 detailed installation instructions. 3292 starts up, so you will have to restart if you are already running
3293 XEmacs.
3294
3295 For more details, @xref{Startup Paths,,,xemacs, the XEmacs User's
3296 Manual}, and @xref{Packages,,,xemacs, the XEmacs User's Manual}.
2942 3297
2943 As the Sumo tarballs are not regenerated as often as the individual 3298 As the Sumo tarballs are not regenerated as often as the individual
2944 packages, it is recommended that you use the automatic package tools 3299 packages, it is recommended that you use the automatic package tools
2945 afterwards to pick up any recent updates. 3300 afterwards to pick up any recent updates.
2946 3301
2947 @emph{More detailed info}: If the package path is not explicitly
2948 specified, XEmacs looks for the package directory
2949 @file{xemacs-packages} (and @file{mule-packages}, etc.) first under
2950 @samp{~/.xemacs}, then for a sister directory
2951 @file{lib/xemacs-VERSION} of the directory in which the XEmacs
2952 executable is located, then for a sister directory @file{lib/xemacs}.
2953 The XEmacs executable (under Unix at least) is installed by default in
2954 @file{/usr/local/bin}; this explains why XEmacs in its default
2955 installation will find packages that you put under
2956 @file{/usr/local/lib/xemacs}.
2957
2958 #### I'm not sure what exactly happens when the package path is
2959 specifically given, as is the case when the @samp{--package-prefix} or
2960 @samp{--package-path} options are given to @file{configure}, and
2961 always under Microsoft Windows.
2962
2963 @emph{NOTE}: For detailed information about how the package 3302 @emph{NOTE}: For detailed information about how the package
2964 hierarchies work, @xref{Package Overview,,,lispref, the XEmacs Lisp 3303 hierarchies work, @xref{Package Overview,,,lispref, the XEmacs Lisp
2965 Reference Manual}. 3304 Reference Manual}.
2966 3305
2967 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation 3306 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation
2968 @unnumberedsubsec Q2.0.2: I don't need no steenkin' packages. Do I? 3307 @unnumberedsubsec Q2.1.2: Can I install the packages individually?
2969 3308
2970 Strictly speaking, no. XEmacs will build and install just fine without 3309 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.
2971 any packages installed. However, only the most basic editing functions 3310
2972 will be available with no packages installed, so installing packages is 3311 Note: If you are upgrading packages already installed, it's best to
2973 an essential part of making your installed XEmacs _useful_. 3312 remove the old package first (@pxref{Q2.1.4}).
2974 3313
2975 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation 3314 For example if we are installing the @samp{xemacs-base}
2976 @unnumberedsubsec Q2.0.3: Where do I find external libraries? 3315 package (version 1.48):
2977
2978 All external libraries used by XEmacs can be found on the XEmacs web
2979 site
2980 @iftex
2981 @*
2982 @end iftex
2983 @uref{http://www.xemacs.org/Download/optLibs.html}.
2984
2985 The library versions available here are known to work with XEmacs.
2986 (Newer versions will probably work as well but we can't guarantee it.)
2987 We try to keep the libraries up-to-date but may not always succeed.
2988 Check the above page for the canonical locations of the external libraries,
2989 allowing you to download the latest, bleeding-edge versions.
2990
2991 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation
2992 @unnumberedsubsec Q2.0.4: How do I specify the paths that XEmacs uses for finding files?
2993
2994 You can specify what paths to use by using a number of different flags
2995 when running configure. See the section MAKE VARIABLES in the top-level
2996 file INSTALL in the XEmacs distribution for a listing of those flags.
2997
2998 Most of the time, however, the simplest fix is: @strong{do not} specify
2999 paths as you might for GNU Emacs. XEmacs can generally determine the
3000 necessary paths dynamically at run time. The only path that generally
3001 needs to be specified is the root directory to install into. That can
3002 be specified by passing the @code{--prefix} flag to configure. For a
3003 description of the XEmacs install tree, please consult the @file{NEWS}
3004 file.
3005
3006 @node Q2.0.5, Q2.0.6, Q2.0.4, Installation
3007 @unnumberedsubsec Q2.0.5: Running XEmacs without installing
3008
3009 How can I just try XEmacs without installing it?
3010
3011 XEmacs will run in place without requiring installation and copying of
3012 the Lisp directories, and without having to specify a special build-time
3013 flag. It's the copying of the Lisp directories that requires so much
3014 space. XEmacs is largely written in Lisp.
3015
3016 A good method is to make a shell alias for xemacs:
3017 3316
3018 @example 3317 @example
3019 alias xemacs=/src/xemacs-21.5/src/xemacs 3318 mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
3319 cd $prefix/lib/xemacs/xemacs-packages RET
3320 gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
3020 @end example 3321 @end example
3021 3322
3022 (You will obviously use whatever directory you downloaded the source 3323 Or if you have GNU tar, the last step can be:
3023 tree to instead of @file{/src/xemacs-21.5}). 3324
3024 3325 @example
3025 This will let you run XEmacs without massive copying. 3326 tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
3026 3327 @end example
3027 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation 3328
3028 @unnumberedsubsec Q2.0.6: XEmacs is too big 3329 For MULE related packages, it is best to untar into the @samp{mule-packages}
3029 3330 hierarchy, i.e. for the @samp{mule-base} package, version 1.37:
3030 The space required by the installation directories can be 3331
3031 reduced dramatically if desired. Gzip all the .el files. Remove all 3332 @example
3032 the packages you'll never want to use. Remove the TexInfo manuals. 3333 mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
3033 Remove the Info (and use just hardcopy versions of the manual). Remove 3334 cd $prefix/lib/xemacs/mule-packages RET
3034 most of the stuff in etc. Remove or gzip all the source code. Gzip or 3335 gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
3035 remove the C source code. Configure it so that copies are not made of 3336 @end example
3036 the support lisp. 3337
3037 3338 Or if you have GNU tar, the last step can be:
3038 These are all Emacs Lisp source code and bytecompiled object code. You 3339
3039 may safely gzip everything named *.el here. You may remove any package 3340 @example
3040 you don't use. @emph{Nothing bad will happen if you delete a package 3341 tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
3041 that you do not use}. You must be sure you do not use it though, so be 3342 @end example
3042 conservative at first. 3343
3043 3344 @node Q2.1.3, Q2.1.4, Q2.1.2, Installation
3044 Any package with the possible exceptions of xemacs-base, and EFS are 3345 @unnumberedsubsec Q2.1.3: Can I install the packages automatically?
3045 candidates for removal. Ask yourself, @emph{Do I ever want to use this 3346
3046 package?} If the answer is no, then it is a candidate for removal. 3347 XEmacs comes with some tools to make the periodic updating and
3047 3348 installing easier. It will notice if new packages or versions are
3048 First, gzip all the .el files. Then go about package by package and 3349 available and will fetch them from the FTP site.
3049 start gzipping the .elc files. Then run XEmacs and do whatever it is 3350
3050 you normally do. If nothing bad happens, then remove the package. You 3351 Unfortunately this requires that a few packages are already in place.
3051 can remove a package via the PUI interface 3352 You will have to install them by hand as above or use a SUMO tarball.
3052 (@code{M-x pui-list-packages}, then press @kbd{d} to mark the packages 3353 This requirement will hopefully go away in the future. The packages
3053 you wish to delete, and then @kbd{x} to delete them. 3354 you need are:
3054 3355
3055 Another method is to do @code{M-x package-get-delete-package}. 3356 @example
3056 3357 efs - To fetch the files from the FTP site or mirrors.
3057 @node Q2.0.7, Q2.1.1, Q2.0.6, Installation 3358 xemacs-base - Needed by efs.
3058 @unnumberedsubsec Q2.0.7: EFS fails with "500 AUTH not understood" (NEW) 3359 @end example
3360
3361 and optionally:
3362
3363 @example
3364 mailcrypt - For PGP verification of the package-index file.
3365 @end example
3366
3367 After installing these by hand, fire up XEmacs and follow these
3368 steps.
3369
3370 @enumerate
3371 @item
3372 Choose a download site.
3373 @itemize @bullet
3374 @item
3375 via menu: Tools -> Packages -> Set Download Site
3376 @item
3377 via keyb: M-x customize-variable RET package-get-remote RET
3378 (put in the details of remote host and directory)
3379 @end itemize
3380
3381 If the package tarballs _AND_ the package-index file are in a
3382 local directory, you can: M-x pui-set-local-package-get-directory RET
3383
3384 @item
3385 Obtain a list of packages and display the list in a buffer named
3386 "*Packages*".
3387 @itemize @bullet
3388 @item
3389 menu: Tools -> Packages -> List & Install
3390 @item
3391 keyb: M-x pui-list-packages RET
3392 @end itemize
3393
3394 XEmacs will now connect to the remote site and download the
3395 latest package-index file.
3396
3397 The resulting buffer, "*Packages*" has brief instructions at the
3398 end of the buffer.
3399
3400 @item
3401 Choose the packages you wish to install.
3402 @itemize @bullet
3403 @item
3404 mouse: Click button 2 on the package name.
3405 @item
3406 keyb: RET on the package name
3407 @end itemize
3408
3409 @item
3410 Make sure you have everything you need.
3411 @itemize @bullet
3412 @item
3413 menu: Packages -> Add Required
3414 @item
3415 keyb: r
3416 @end itemize
3417
3418 XEmacs will now search for packages that are required by the
3419 ones that you have chosen to install and offer to select
3420 those packages also.
3421
3422 For novices and gurus alike, this step can save your bacon.
3423 It's easy to forget to install a critical package.
3424
3425 @item
3426 Download and install the packages.
3427 @itemize @bullet
3428 @item
3429 menu: Packages -> Install/Remove Selected
3430 @item
3431 keyb: x
3432 @end itemize
3433 @end enumerate
3434
3435 @node Q2.1.4, Q2.1.5, Q2.1.3, Installation
3436 @unnumberedsubsec Q2.1.4: Can I upgrade or remove packages?
3437
3438 As the exact files and their locations contained in a package may
3439 change it is recommended to remove a package first before installing a
3440 new version. In order to facilitate removal each package contains an
3441 pgkinfo/MANIFEST.pkgname file which list all the files belong to the
3442 package. M-x package-admin-delete-binary-package RET can be used to
3443 remove a package using this file.
3444
3445 Note that the interactive package tools included with XEmacs already do
3446 this for you.
3447
3448 @node Q2.1.5, Q2.1.6, Q2.1.4, Installation
3449 @unnumberedsubsec Q2.1.5: Which packages to install?
3450
3451 Unless you are an advanced user, just install everything.
3452
3453 If you really want to install only what's absolutely needed, a good
3454 minimal set of packages for XEmacs-latin1 would be
3455
3456 @example
3457 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
3458 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
3459 text-modes, time, mailcrypt
3460 @end example
3461
3462 If you are using the XEmacs package tools, don't forget to do:
3463
3464 @example
3465 Packages -> Add Required
3466 @end example
3467
3468 To make sure you have everything that the packages you have chosen to
3469 install need.
3470
3471 @xref{Q1.7.2}, for a description of the various packages.
3472
3473 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation
3474 @unnumberedsubsec Q2.1.6: Can you describe the package location process in more detail?
3475
3476 On startup XEmacs looks for packages in so-called package hierarchies.
3477 Normally, there are three system wide hierarchies, like this:
3478
3479 @example
3480 $prefix/lib/xemacs/xemacs-packages/
3481 Normal packages go here.
3482
3483 $prefix/lib/xemacs/mule-packages/
3484 Mule packages go here and are only searched by MULE-enabled XEmacsen.
3485
3486 $prefix/lib/xemacs/site-packages/
3487 Local and 3rd party packages go here.
3488 @end example
3489
3490 This is what you get when you untar the SUMO tarballs under
3491 @file{$prefix/lib/xemacs}.
3492
3493 @file{$prefix} is specified using the @samp{--prefix} parameter to
3494 @file{configure}, and defaults to @file{usr/local}.
3495
3496 If the package path is not explicitly specified, XEmacs looks for the
3497 package directory @file{xemacs-packages} (and @file{mule-packages} and
3498 @file{site-packages}) first under @samp{~/.xemacs}, then for a sister
3499 directory @file{lib/xemacs-VERSION} of the directory in which the
3500 XEmacs executable is located, then for a sister directory
3501 @file{lib/xemacs}. The XEmacs executable (under Unix at least) is
3502 installed by default in @file{/usr/local/bin}; this explains why
3503 XEmacs in its default installation will find packages that you put
3504 under @file{/usr/local/lib/xemacs}.
3505
3506 You can specify where exactly XEmacs looks for packages by using the
3507 @samp{--package-prefix} or @samp{--package-path} parameters to
3508 @file{configure} (or the equivalent settings in @file{config.inc},
3509 under Windows), or setting the @samp{EMACSPACKAGEPATH} environment
3510 variable (which has the same format as @samp{--package-path}).
3511 @xref{Q2.1.1}.
3512
3513 See @file{configure.usage} for more info about the format of these
3514 @file{configure} parameters.
3515
3516 In addition to the system wide packages, each user can have his own
3517 packages installed under @file{~/.xemacs/}. If you want to install
3518 packages there using the interactive tools, you need to set
3519 @code{package-get-install-to-user-init-directory} to @code{t}.
3520
3521 The site-packages hierarchy replaces the old @file{site-lisp}
3522 directory. XEmacs no longer looks into a @file{site-lisp} directly by
3523 default. A good place to put @file{site-start.el} would be in
3524 @file{$prefix/lib/xemacs/site-packages/lisp/}.
3525
3526 @node Q2.1.7, Q2.2.1, Q2.1.6, Installation
3527 @unnumberedsubsec Q2.1.7: EFS fails with "500 AUTH not understood" (NEW)
3059 3528
3060 A typical error: FTP Error: USER request failed; 500 AUTH not understood. 3529 A typical error: FTP Error: USER request failed; 500 AUTH not understood.
3061 3530
3062 Thanks to giacomo boffi @email{giacomo.boffi@@polimi.it} who recommends 3531 Thanks to giacomo boffi @email{giacomo.boffi@@polimi.it} who recommends
3063 on comp.emacs.xemacs: 3532 on comp.emacs.xemacs:
3067 3536
3068 and notes that you need to add an element (often "-u") to 3537 and notes that you need to add an element (often "-u") to
3069 `efs-ftp-program-args'. Use M-x customize-variable, and verify the 3538 `efs-ftp-program-args'. Use M-x customize-variable, and verify the
3070 needed flag with `man ftp' or other local documentation. 3539 needed flag with `man ftp' or other local documentation.
3071 3540
3072 @unnumberedsec 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW) 3541 @unnumberedsec 2.2: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
3073 3542
3074 @node Q2.1.1, Q2.1.2, Q2.0.7, Installation 3543 @node Q2.2.1, Q2.2.2, Q2.1.7, Installation
3075 @unnumberedsubsec Q2.1.1: Libraries in non-standard locations 3544 @unnumberedsubsec Q2.2.1: Libraries in non-standard locations
3076 3545
3077 If your libraries are in a non-standard location, you can specify the location 3546 If your libraries are in a non-standard location, you can specify the location
3078 using the following flags to @file{configure}: 3547 using the following flags to @file{configure}:
3079 3548
3080 @example 3549 @example
3086 3555
3087 @example 3556 @example
3088 --site-libraries='/path/one /path/two /path/etc' 3557 --site-libraries='/path/one /path/two /path/etc'
3089 @end example 3558 @end example
3090 3559
3091 @node Q2.1.2, Q2.2.1, Q2.1.1, Installation 3560 @node Q2.2.2, Q2.3.1, Q2.2.1, Installation
3092 @unnumberedsubsec Q2.1.2: Why can't I strip XEmacs? 3561 @unnumberedsubsec Q2.2.2: Why can't I strip XEmacs?
3093 3562
3094 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes: 3563 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes:
3095 3564
3096 @quotation 3565 @quotation
3097 Because of the way XEmacs (and every other Emacsen, AFAIK) is built. The 3566 Because of the way XEmacs (and every other Emacsen, AFAIK) is built. The
3141 @end iftex 3610 @end iftex
3142 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout 3611 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
3143 @end enumerate 3612 @end enumerate
3144 @end quotation 3613 @end quotation
3145 3614
3146 @unnumberedsec 2.2: Windows Installation (Windows, Cygwin, MinGW) 3615 @unnumberedsec 2.3: Windows Installation (Windows, Cygwin, MinGW)
3147 3616
3148 @node Q2.2.1, Q2.2.2, Q2.1.2, Installation 3617 @node Q2.3.1, Q2.3.2, Q2.2.2, Installation
3149 @unnumberedsubsec Q2.2.1: What exactly are all the different ways to build XEmacs under Windows? 3618 @unnumberedsubsec Q2.3.1: What exactly are all the different ways to build XEmacs under Windows?
3150 3619
3151 XEmacs can be built in several ways in the MS Windows environment. 3620 XEmacs can be built in several ways in the MS Windows environment.
3152 3621
3153 The standard way is what we call the "native" port. It uses the Win32 3622 The standard way is what we call the "native" port. It uses the Win32
3154 API and has no connection with X whatsoever -- it does not require X 3623 API and has no connection with X whatsoever -- it does not require X
3172 orphaned and it's unlikely it will compile without a lot of work. If 3641 orphaned and it's unlikely it will compile without a lot of work. If
3173 you want an MS Windows versin of XEmacs that supports X, use the Cygwin 3642 you want an MS Windows versin of XEmacs that supports X, use the Cygwin
3174 version. (The X support there is actively maintained, so that Windows 3643 version. (The X support there is actively maintained, so that Windows
3175 developers can test the X support in XEmacs.) 3644 developers can test the X support in XEmacs.)
3176 3645
3177 @node Q2.2.2, Q2.2.3, Q2.2.1, Installation 3646 @node Q2.3.2, Q2.3.3, Q2.3.1, Installation
3178 @unnumberedsubsec Q2.2.2: What compiler/libraries do I need to compile XEmacs? 3647 @unnumberedsubsec Q2.3.2: What compiler/libraries do I need to compile XEmacs?
3179 3648
3180 You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have 3649 You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have
3181 some beta testers currently trying to compile with VC.NET, aka version 3650 some beta testers currently trying to compile with VC.NET, aka version
3182 7.0, but we can't yet report complete success.) For the Cygwin and 3651 7.0, but we can't yet report complete success.) For the Cygwin and
3183 MinGW versions, you need the Cygwin environment, which comes with GCC, 3652 MinGW versions, you need the Cygwin environment, which comes with GCC,
3184 the compiler used for those versions. @xref{Q1.2.5, What are Cygwin 3653 the compiler used for those versions. @xref{Q1.2.5, What are Cygwin
3185 and MinGW, and do I need them to run XEmacs?}, for more information on 3654 and MinGW, and do I need them to run XEmacs?}, for more information on
3186 Cygwin and MinGW. 3655 Cygwin and MinGW.
3187 3656
3188 @node Q2.2.3, Q2.2.4, Q2.2.2, Installation 3657 @node Q2.3.3, Q2.3.4, Q2.3.2, Installation
3189 @unnumberedsubsec Q2.2.3: How do I compile the native port? 3658 @unnumberedsubsec Q2.3.3: How do I compile the native port?
3190 3659
3191 Please read the file @file{nt/README} in the XEmacs distribution, which 3660 Please read the file @file{nt/README} in the XEmacs distribution, which
3192 contains the full description. 3661 contains the full description.
3193 3662
3194 @node Q2.2.4, Q2.2.5, Q2.2.3, Installation 3663 @node Q2.3.4, Q2.3.5, Q2.3.3, Installation
3195 @unnumberedsubsec Q2.2.4: What do I need for Cygwin? 3664 @unnumberedsubsec Q2.3.4: What do I need for Cygwin?
3196 3665
3197 You can find the Cygwin tools and compiler at: 3666 You can find the Cygwin tools and compiler at:
3198 3667
3199 @uref{http://www.cygwin.com/} 3668 @uref{http://www.cygwin.com/}
3200 3669
3209 If you want to compile without X, you will need the @file{xpm-nox} 3678 If you want to compile without X, you will need the @file{xpm-nox}
3210 library, which must be specifically selected in the Cygwin netinstaller; 3679 library, which must be specifically selected in the Cygwin netinstaller;
3211 it is not selected by default. The package has had various names. 3680 it is not selected by default. The package has had various names.
3212 Currently it is called @file{cygXpm-noX4.dll}. 3681 Currently it is called @file{cygXpm-noX4.dll}.
3213 3682
3214 @node Q2.2.5, Q2.2.6, Q2.2.4, Installation 3683 @node Q2.3.5, Q2.3.6, Q2.3.4, Installation
3215 @unnumberedsubsec Q2.2.5: How do I compile under Cygwin? 3684 @unnumberedsubsec Q2.3.5: How do I compile under Cygwin?
3216 3685
3217 Similar as on Unix; use the usual `configure' and `make' process. 3686 Similar as on Unix; use the usual `configure' and `make' process.
3218 Some problems to watch out for: 3687 Some problems to watch out for:
3219 3688
3220 @itemize @bullet 3689 @itemize @bullet
3258 directory of the XEmacs sources. 3727 directory of the XEmacs sources.
3259 3728
3260 @end itemize 3729 @end itemize
3261 3730
3262 3731
3263 @node Q2.2.6, Q2.2.7, Q2.2.5, Installation 3732 @node Q2.3.6, Q2.3.7, Q2.3.5, Installation
3264 @unnumberedsubsec Q2.2.6: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? 3733 @unnumberedsubsec Q2.3.6: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})?
3265 3734
3266 Similar to the method for Unix. Things to remember: 3735 Similar to the method for Unix. Things to remember:
3267 3736
3268 @itemize @bullet 3737 @itemize @bullet
3269 @item 3738 @item
3283 Specify the target location of the extra libs on the command line 3752 Specify the target location of the extra libs on the command line
3284 to @file{configure}, e.g. 3753 to @file{configure}, e.g.
3285 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32}. 3754 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32}.
3286 @end itemize 3755 @end itemize
3287 3756
3288 @node Q2.2.7, Q2.2.8, Q2.2.6, Installation 3757 @node Q2.3.7, Q2.3.8, Q2.3.6, Installation
3289 @unnumberedsubsec Q2.2.7: How do I compile with X support? 3758 @unnumberedsubsec Q2.3.7: How do I compile with X support?
3290 3759
3291 To compile under Cygwin, all you need to do is install XFree86, which 3760 To compile under Cygwin, all you need to do is install XFree86, which
3292 is available as part of the standard Cygwin installation. 3761 is available as part of the standard Cygwin installation.
3293 @uref{http://www.cygwin.com/}. Once installed, @file{configure} 3762 @uref{http://www.cygwin.com/}. Once installed, @file{configure}
3294 should automatically find the X libraries and compile with X support. 3763 should automatically find the X libraries and compile with X support.
3297 probably won't work. But if it want to try, it's described in 3766 probably won't work. But if it want to try, it's described in
3298 @file{nt/README} in some detail. Basically, you need to get X11 3767 @file{nt/README} in some detail. Basically, you need to get X11
3299 libraries from @uref{http://ftp.x.org}, and compile them. If the 3768 libraries from @uref{http://ftp.x.org}, and compile them. If the
3300 precompiled versions are available somewhere, we don't know of it. 3769 precompiled versions are available somewhere, we don't know of it.
3301 3770
3302 @node Q2.2.8, Q2.3.1, Q2.2.7, Installation 3771 @node Q2.3.8, Q2.4.1, Q2.3.7, Installation
3303 @unnumberedsubsec Q2.2.8: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW) 3772 @unnumberedsubsec Q2.3.8: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
3304 3773
3305 The Cygwin binary distributed with the netinstaller uses an external DLL 3774 The Cygwin binary distributed with the netinstaller uses an external DLL
3306 to handle XPM images (such as toolbar buttons). You may get an error like 3775 to handle XPM images (such as toolbar buttons). You may get an error like
3307 3776
3308 This application has failed to start because cygXpm-noX4.dll was not found. 3777 @example
3309 Re-installing the application may fix this problem. 3778 This application has failed to start because cygXpm-noX4.dll was not found.
3779 Re-installing the application may fix this problem.
3780 @end example
3310 3781
3311 Andy Piper <andy@@xemacs.org> sez: 3782 Andy Piper <andy@@xemacs.org> sez:
3312 3783
3313 cygXpm-noX4 is part of the cygwin distribution under libraries or 3784 @example
3314 graphics, but is not installed by default. You need to run the 3785 cygXpm-noX4 is part of the cygwin distribution under libraries or
3315 cygwin setup again and select this package. 3786 graphics, but is not installed by default. You need to run the
3787 cygwin setup again and select this package.
3788 @end example
3316 3789
3317 Ie, reinstalling XEmacs won't help because it is not part of the XEmacs 3790 Ie, reinstalling XEmacs won't help because it is not part of the XEmacs
3318 distribution. 3791 distribution.
3319 3792
3320 @unnumberedsec 2.3: General Troubleshooting 3793 @unnumberedsec 2.4: General Troubleshooting
3321 3794
3322 @node Q2.3.1, Q2.3.2, Q2.2.8, Installation 3795 @node Q2.4.1, Q2.4.2, Q2.3.8, Installation
3323 @unnumberedsubsec Q2.3.1: Help! XEmacs just crashed on me! 3796 @unnumberedsubsec Q2.4.1: How do I deal with bugs or with problems building, installing, or running?
3797
3798 The file @file{PROBLEMS} contains information on many common problems that
3799 occur in building, installing and running XEmacs.
3800
3801 Reports of bugs in XEmacs should be sent to
3802 @email{xemacs-beta@@xemacs.org}. You can also post to the newsgroup
3803 comp.emacs.xemacs (or equivalentlt, send to the mailing list
3804 @email{xemacs@@xemacs.org}), but it is less likely that the developers
3805 will see it in a timely fashion. @xref{Bugs,,, xemacs, the XEmacs
3806 User's Manual}, for more information on how to report bugs.
3807 @xref{Q1.4.2}, for more information on mailing lists relating to
3808 XEmacs.
3809
3810 There are three ways to read the Bugs section.
3811
3812 @enumerate
3813 @item
3814 In a printed copy of the XEmacs manual.
3815
3816 @item
3817 With Info. First, start XEmacs. From the menu, select
3818 @samp{Help->Info (Online Docs)->Info Contents} to enter Info, then
3819 click on @samp{XEmacs}, then on @samp{Bugs}. Or, use the keyboard: do
3820 @kbd{C-h i} to enter Info, then @kbd{m XEmacs RET} to get to the Emacs
3821 manual, then @kbd{m Bugs RET} to get to the section on bugs. Or use
3822 standalone Info in a like manner. (Standalone Info is part of the
3823 Texinfo distribution, not part of the XEmacs distribution.)
3824
3825 @item
3826 By hand. Do
3827 @example
3828 cat info/xemacs* | more "+/^File: xemacs.info, Node: Bugs,"
3829 @end example
3830 @end enumerate
3831
3832 @node Q2.4.2, Q2.4.3, Q2.4.1, Installation
3833 @unnumberedsubsec Q2.4.2: Help! XEmacs just crashed on me!
3324 3834
3325 First of all, don't panic. Whenever XEmacs crashes, it tries extremely 3835 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
3326 hard to auto-save all of your files before dying. (The main time that 3836 hard to auto-save all of your files before dying. (The main time that
3327 this will not happen is if the machine physically lost power or if you 3837 this will not happen is if the machine physically lost power or if you
3328 killed the XEmacs process using @code{kill -9}). The next time you try 3838 killed the XEmacs process using @code{kill -9}). The next time you try
3384 during the crash. A very simple reason, however, is that your version 3894 during the crash. A very simple reason, however, is that your version
3385 of XEmacs was compiled without debugging information or had the 3895 of XEmacs was compiled without debugging information or had the
3386 debugging information stripped. A compilation with optimization can 3896 debugging information stripped. A compilation with optimization can
3387 also result in partly or completely garbaged stack trace. In such 3897 also result in partly or completely garbaged stack trace. In such
3388 cases, you will need to recompile XEmacs with debugging information 3898 cases, you will need to recompile XEmacs with debugging information
3389 and without optimization; @xref{Q2.3.3, How to debug an XEmacs problem 3899 and without optimization; @xref{Q2.4.4, How to debug an XEmacs problem
3390 with a debugger}. Note also that core files currently don't work at 3900 with a debugger}. Note also that core files currently don't work at
3391 all under Cygwin, and the only way to get a backtrace is to run XEmacs 3901 all under Cygwin, and the only way to get a backtrace is to run XEmacs
3392 from gdb. 3902 from gdb.
3393 3903
3394 If you cannot get a backtrace from the core dump, but can reproduce 3904 If you cannot get a backtrace from the core dump, but can reproduce
3395 the problem, try running XEmacs under gdb. The goal is to get clean C 3905 the problem, try running XEmacs under gdb. The goal is to get clean C
3396 and Lisp backtraces and submit a bug report including full 3906 and Lisp backtraces and submit a bug report including full
3397 configuration information as described above, as this will greatly 3907 configuration information as described above, as this will greatly
3398 assist in the process of tracking down the bug. However, even partial 3908 assist in the process of tracking down the bug. However, even partial
3399 information is better than none. The process of getting backtraces 3909 information is better than none. The process of getting backtraces
3400 from gdb is described in detail in @ref{Q2.3.3, How to debug an XEmacs 3910 from gdb is described in detail in @ref{Q2.4.4, How to debug an XEmacs
3401 problem with a debugger}. 3911 problem with a debugger}.
3402 3912
3403 If you're under Microsoft Windows, you're out of luck unless you happen 3913 If you're under Microsoft Windows, you're out of luck unless you happen
3404 to have a debugging aid installed on your system, for example Visual 3914 to have a debugging aid installed on your system, for example Visual
3405 C++. In this case, the crash will result in a message giving you the 3915 C++. In this case, the crash will result in a message giving you the
3440 generated by redirecting the output of @code{make} and @code{make check} 3950 generated by redirecting the output of @code{make} and @code{make check}
3441 to a file (@file{beta.err} is the default used by @code{build-report}), 3951 to a file (@file{beta.err} is the default used by @code{build-report}),
3442 and executing @kbd{M-x build-report}. 3952 and executing @kbd{M-x build-report}.
3443 3953
3444 3954
3445 @node Q2.3.2, Q2.3.3, Q2.3.1, Installation 3955 @node Q2.4.3, Q2.4.4, Q2.4.2, Installation
3446 @unnumberedsubsec Q2.3.2: XEmacs crashes and I compiled it myself. 3956 @unnumberedsubsec Q2.4.3: XEmacs crashes and I compiled it myself.
3447 3957
3448 There have been a variety of reports of crashes due to compilers with 3958 There have been a variety of reports of crashes due to compilers with
3449 buggy optimizers. If you are compiling with optimization, consider 3959 buggy optimizers. If you are compiling with optimization, consider
3450 turning it off (@pxref{Q2.3.3, How to debug an XEmacs problem with a 3960 turning it off (@pxref{Q2.4.4, How to debug an XEmacs problem with a
3451 debugger}) and recompiling. 3961 debugger}) and recompiling.
3452 3962
3453 Please see the @file{PROBLEMS} file that comes with XEmacs (it's in 3963 Please see the @file{PROBLEMS} file that comes with XEmacs (it's in
3454 the top-level source directory) to read what it says about your 3964 the top-level source directory) to read what it says about your
3455 platform. 3965 platform.
3457 If you compiled XEmacs using @samp{--use-union-type} (or the option 3967 If you compiled XEmacs using @samp{--use-union-type} (or the option
3458 @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), try 3968 @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), try
3459 recompiling again without it. The union type has been known to trigger 3969 recompiling again without it. The union type has been known to trigger
3460 compiler errors in a number of cases. 3970 compiler errors in a number of cases.
3461 3971
3462 @node Q2.3.3, Q2.3.4, Q2.3.2, Installation 3972 @node Q2.4.4, Q2.4.5, Q2.4.3, Installation
3463 @unnumberedsubsec Q2.3.3: How to debug an XEmacs problem with a debugger 3973 @unnumberedsubsec Q2.4.4: How to debug an XEmacs problem with a debugger
3464 3974
3465 If XEmacs does crash on you, one of the most productive things you can 3975 If XEmacs does crash on you, one of the most productive things you can
3466 do to help get the bug fixed is to poke around a bit with the debugger. 3976 do to help get the bug fixed is to poke around a bit with the debugger.
3467 Here are some hints: 3977 Here are some hints:
3468 3978
3695 If you are running Microsoft Windows, the the file @file{nt/README} for 4205 If you are running Microsoft Windows, the the file @file{nt/README} for
3696 further information about debugging XEmacs. 4206 further information about debugging XEmacs.
3697 4207
3698 @end itemize 4208 @end itemize
3699 4209
3700 @node Q2.3.4, Q2.3.5, Q2.3.3, Installation 4210 @node Q2.4.5, Q2.4.6, Q2.4.4, Installation
3701 @unnumberedsubsec Q2.3.4: I get a cryptic error message when trying to do something. 4211 @unnumberedsubsec Q2.4.5: I get a cryptic error message when trying to do something.
3702 4212
3703 When I try to use some particular option of some particular package, I 4213 When I try to use some particular option of some particular package, I
3704 get a cryptic error message in the minibuffer. 4214 get a cryptic error message in the minibuffer.
3705 4215
3706 If the message went by too quickly, use @samp{Help->Recent Messages} 4216 If the message went by too quickly, use @samp{Help->Recent Messages}
3730 @end enumerate 4240 @end enumerate
3731 4241
3732 For more information on debugging Lisp code, @xref{Debugging,,, 4242 For more information on debugging Lisp code, @xref{Debugging,,,
3733 lispref, XEmacs Lisp Reference Manual}. 4243 lispref, XEmacs Lisp Reference Manual}.
3734 4244
3735 @node Q2.3.5, Q2.3.6, Q2.3.4, Installation 4245 @node Q2.4.6, Q2.4.7, Q2.4.5, Installation
3736 @unnumberedsubsec Q2.3.5: XEmacs hangs when I try to do something. 4246 @unnumberedsubsec Q2.4.6: XEmacs hangs when I try to do something.
3737 4247
3738 XEmacs might just be slow; some operations take a long time. XEmacs 4248 XEmacs might just be slow; some operations take a long time. XEmacs
3739 may also be waiting on a response from the network, for example when 4249 may also be waiting on a response from the network, for example when
3740 you are trying to send mail. 4250 you are trying to send mail.
3741 4251
3742 You can usually interrupt XEmacs by typing @kbd{C-g}. If not (for 4252 You can usually interrupt XEmacs by typing @kbd{C-g}. If not (for
3743 example, Lisp code explicitly disabled this by setting 4253 example, Lisp code explicitly disabled this by setting
3744 @code{inhibit-quit}), you can use the "critical quit" mechanism by 4254 @code{inhibit-quit}), you can use the "critical quit" mechanism by
3745 typing @kbd{Control-Shift-G}. This should also pop you into the 4255 typing @kbd{Control-Shift-G}. This should also pop you into the
3746 debugger and give you a backtrace, which can tell you where the 4256 debugger and give you a backtrace, which can tell you where the
3747 problem is (@pxref{Q2.3.3, How to debug an XEmacs problem with a 4257 problem is (@pxref{Q2.4.4, How to debug an XEmacs problem with a
3748 debugger}). (Note that setting @code{debug-on-quit} or selecting 4258 debugger}). (Note that setting @code{debug-on-quit} or selecting
3749 @samp{Options->Troubleshooting->Debug on Quit} will also cause regular 4259 @samp{Options->Troubleshooting->Debug on Quit} will also cause regular
3750 @kbd{C-g} to enter the debugger and give you a backtrace.) 4260 @kbd{C-g} to enter the debugger and give you a backtrace.)
3751 4261
3752 If you can't interrupt XEmacs this way, or for some reason XEmacs is 4262 If you can't interrupt XEmacs this way, or for some reason XEmacs is
3753 not talking to the keyboard, you can try sending the @samp{SIGINT} 4263 not talking to the keyboard, you can try sending the @samp{SIGINT}
3754 signal using the @samp{kill} command. 4264 signal using the @samp{kill} command.
3755 4265
3756 If the Lisp backtrace isn't enlightening, or if XEmacs is so hung that 4266 If the Lisp backtrace isn't enlightening, or if XEmacs is so hung that
3757 you can't interrupt it at all, you could try attaching to the process 4267 you can't interrupt it at all, you could try attaching to the process
3758 and getting a C stack backtrace. @xref{Q2.3.3, How to debug an XEmacs 4268 and getting a C stack backtrace. @xref{Q2.4.4, How to debug an XEmacs
3759 problem with a debugger}. 4269 problem with a debugger}.
3760 4270
3761 @node Q2.3.6, Q2.3.7, Q2.3.5, Installation 4271 @node Q2.4.7, Q2.4.8, Q2.4.6, Installation
3762 @unnumberedsubsec Q2.3.6: I get an error message when XEmacs is running in batch mode. 4272 @unnumberedsubsec Q2.4.7: I get an error message when XEmacs is running in batch mode.
3763 4273
3764 Typically this happens when you are trying to compile some Elisp code. 4274 Typically this happens when you are trying to compile some Elisp code.
3765 If you are doing this as part of XEmacs or the XEmacs packages, you 4275 If you are doing this as part of XEmacs or the XEmacs packages, you
3766 should automatically get a backtrace, which can help you determine the 4276 should automatically get a backtrace, which can help you determine the
3767 source of the problem. In other cases, you can get equivalent results 4277 source of the problem. In other cases, you can get equivalent results
3774 @samp{tcsh}). @samp{XEMACSDEBUG} specifies Lisp code that will be 4284 @samp{tcsh}). @samp{XEMACSDEBUG} specifies Lisp code that will be
3775 executed at startup time. 4285 executed at startup time.
3776 4286
3777 If the backtrace is not sufficiently useful in helping you diagnose 4287 If the backtrace is not sufficiently useful in helping you diagnose
3778 the problem, you should consider using a debugger such as GDB. 4288 the problem, you should consider using a debugger such as GDB.
3779 @xref{Q2.3.3, How to debug an XEmacs problem with a debugger}. You 4289 @xref{Q2.4.4, How to debug an XEmacs problem with a debugger}. You
3780 probably want to set a breakpoint on @code{signal_1}. Since such 4290 probably want to set a breakpoint on @code{signal_1}. Since such
3781 errors often occur during compiling, which is often triggered by a 4291 errors often occur during compiling, which is often triggered by a
3782 complex command run from a make suite, it may be easier to attach to 4292 complex command run from a make suite, it may be easier to attach to
3783 the process once it's running. 4293 the process once it's running.
3784 4294
3795 Windows, which should invoke a debugger if it's active.) This is 4305 Windows, which should invoke a debugger if it's active.) This is
3796 guaranteed to kill XEmacs! (But in this situation, XEmacs is about to 4306 guaranteed to kill XEmacs! (But in this situation, XEmacs is about to
3797 die anyway, and if no debugger is present, this will usefully dump 4307 die anyway, and if no debugger is present, this will usefully dump
3798 core.) 4308 core.)
3799 4309
3800 @node Q2.3.7, Q2.3.8, Q2.3.6, Installation 4310 @node Q2.4.8, Q2.4.9, Q2.4.7, Installation
3801 @unnumberedsubsec Q2.3.7: The keyboard or mouse is not working properly, or I have some other event-related problem. 4311 @unnumberedsubsec Q2.4.8: The keyboard or mouse is not working properly, or I have some other event-related problem.
3802 4312
3803 XEmacs has various facilities for debugging event handling. 4313 XEmacs has various facilities for debugging event handling.
3804 4314
3805 First, try setting the variable @code{debug-emacs-events} to non-zero. 4315 First, try setting the variable @code{debug-emacs-events} to non-zero.
3806 This will output various information showing which events are being 4316 This will output various information showing which events are being
3818 @code{debug-mswindows-events} to non-zero. (The value @samp{1} gives 4328 @code{debug-mswindows-events} to non-zero. (The value @samp{1} gives
3819 you regular output. The value @samp{2} gives you verbose output, 4329 you regular output. The value @samp{2} gives you verbose output,
3820 including all parameters. The value @samp{3} gives you 4330 including all parameters. The value @samp{3} gives you
3821 super-gorily-detailed output.) 4331 super-gorily-detailed output.)
3822 4332
3823 @node Q2.3.8, Q2.3.9, Q2.3.7, Installation 4333 @node Q2.4.9, Q2.4.10, Q2.4.8, Installation
3824 @unnumberedsubsec Q2.3.8: @kbd{C-g} doesn't work for me. Is it broken? 4334 @unnumberedsubsec Q2.4.9: @kbd{C-g} doesn't work for me. Is it broken?
3825 4335
3826 @kbd{C-g} does work for most people in most circumstances. If it 4336 @kbd{C-g} does work for most people in most circumstances. If it
3827 doesn't, there are two possible explanations: 4337 doesn't, there are two possible explanations:
3828 4338
3829 @enumerate 4339 @enumerate
3831 XEmacs is hung in a way that prevents @kbd{C-g} from working. This 4341 XEmacs is hung in a way that prevents @kbd{C-g} from working. This
3832 can happen when code is wrapped with a binding of @code{inhibit-quit} 4342 can happen when code is wrapped with a binding of @code{inhibit-quit}
3833 to @code{t}; you should still be able interrupt XEmacs using "critical 4343 to @code{t}; you should still be able interrupt XEmacs using "critical
3834 quit". On the other hand, XEmacs may be seriously wedged. (If you're 4344 quit". On the other hand, XEmacs may be seriously wedged. (If you're
3835 lucky, sending @samp{SIGINT} to the XEmacs process will interrupt it.) 4345 lucky, sending @samp{SIGINT} to the XEmacs process will interrupt it.)
3836 @xref{Q2.3.5, XEmacs hangs when I try to do something.}. 4346 @xref{Q2.4.6, XEmacs hangs when I try to do something.}.
3837 4347
3838 @item 4348 @item
3839 @kbd{C-g} is indeed broken on your system. To test, try executing 4349 @kbd{C-g} is indeed broken on your system. To test, try executing
3840 @code{(while t)} from the @samp{*scratch*} buffer. If @kbd{C-g} 4350 @code{(while t)} from the @samp{*scratch*} buffer. If @kbd{C-g}
3841 doesn't interrupt, then it's broken. This used to happen with systems 4351 doesn't interrupt, then it's broken. This used to happen with systems
3842 where @samp{SIGIO} was broken, but @samp{BROKEN_SIGIO} wasn't defined. 4352 where @samp{SIGIO} was broken, but @samp{BROKEN_SIGIO} wasn't defined.
3843 However, there may not be very many such systems nowadays. 4353 However, there may not be very many such systems nowadays.
3844 @end enumerate 4354 @end enumerate
3845 4355
3846 @node Q2.3.9, Q2.3.10, Q2.3.8, Installation 4356 @node Q2.4.10, Q2.4.11, Q2.4.9, Installation
3847 @unnumberedsubsec Q2.3.9: How do I debug process-related problems? 4357 @unnumberedsubsec Q2.4.10: How do I debug process-related problems?
3848 4358
3849 Under MS Windows, you can set the variable 4359 Under MS Windows, you can set the variable
3850 @code{debug-mswindows-process-command-lines} to non-@samp{nil} to get 4360 @code{debug-mswindows-process-command-lines} to non-@samp{nil} to get
3851 information on exactly what is getting passed to a process. This can 4361 information on exactly what is getting passed to a process. This can
3852 be useful in determining problems with quoting. (Under Unix, a process 4362 be useful in determining problems with quoting. (Under Unix, a process
3859 XEmacs uses the variable 4369 XEmacs uses the variable
3860 @code{mswindows-construct-process-command-line-alist} to construct a 4370 @code{mswindows-construct-process-command-line-alist} to construct a
3861 command line from a list of arguments based on the command to be run, 4371 command line from a list of arguments based on the command to be run,
3862 but it is (and cannot be) a perfect solution.) 4372 but it is (and cannot be) a perfect solution.)
3863 4373
3864 @node Q2.3.10, Q2.3.11, Q2.3.9, Installation 4374 @node Q2.4.11, Q2.4.12, Q2.4.10, Installation
3865 @unnumberedsubsec Q2.3.10: XEmacs is outputting lots of X errors. 4375 @unnumberedsubsec Q2.4.11: XEmacs is outputting lots of X errors.
3866 4376
3867 If this is happening, we would very much like to know what's causing 4377 If this is happening, we would very much like to know what's causing
3868 them. To find this out, see @ref{Q2.3.3, How to debug an XEmacs 4378 them. To find this out, see @ref{Q2.4.4, How to debug an XEmacs
3869 problem with a debugger}. Try to get both a C and Lisp backtrace, and 4379 problem with a debugger}. Try to get both a C and Lisp backtrace, and
3870 send them along with the full error output to 4380 send them along with the full error output to
3871 @email{xemacs-beta@@xemacs.org}. 4381 @email{xemacs-beta@@xemacs.org}.
3872 4382
3873 @node Q2.3.11, Q2.4.1, Q2.3.10, Installation 4383 @node Q2.4.12, Q2.5.1, Q2.4.11, Installation
3874 @unnumberedsubsec Q2.3.11: After upgrading, XEmacs won't do `foo' any more! 4384 @unnumberedsubsec Q2.4.12: After upgrading, XEmacs won't do `foo' any more!
3875 4385
3876 You have been used to doing `foo', but now when you invoke it (or 4386 You have been used to doing `foo', but now when you invoke it (or
3877 click the toolbar button or select the menu item), nothing (or an 4387 click the toolbar button or select the menu item), nothing (or an
3878 error) happens. The simplest explanation is that you are missing a 4388 error) happens. The simplest explanation is that you are missing a
3879 package that is essential to you. You can either track it down and 4389 package that is essential to you. You can either track it down and
3880 install it (there is a list of packages and brief descriptions of 4390 install it (there is a list of packages and brief descriptions of
3881 their contents in @file{etc/PACKAGES}), or install the `Sumo Tarball' 4391 their contents in @file{etc/PACKAGES}), or install the `Sumo Tarball'
3882 (@pxref{Q2.0.2, How do I figure out which packages to install?}). 4392 (@pxref{Q2.1.2, How do I figure out which packages to install?}).
3883 4393
3884 @c #### should xref to XEmacs manual here 4394 @c #### should xref to XEmacs manual here
3885 4395
3886 @unnumberedsec 2.4: Startup-Related Problems 4396 @unnumberedsec 2.5: Startup-Related Problems
3887 4397
3888 @node Q2.4.1, Q2.4.2, Q2.3.11, Installation 4398 @node Q2.5.1, Q2.5.2, Q2.4.12, Installation
3889 @unnumberedsubsec Q2.4.1: XEmacs cannot connect to my X Terminal! 4399 @unnumberedsubsec Q2.5.1: XEmacs cannot connect to my X Terminal!
3890 4400
3891 Help! I can not get XEmacs to display on my Envizex X-terminal! 4401 Help! I can not get XEmacs to display on my Envizex X-terminal!
3892 4402
3893 Try setting the @code{DISPLAY} variable using the numeric IP address of 4403 Try setting the @code{DISPLAY} variable using the numeric IP address of
3894 the host you are running XEmacs from. 4404 the host you are running XEmacs from.
3895 4405
3896 @node Q2.4.2, Q2.4.3, Q2.4.1, Installation 4406 @node Q2.5.2, Q2.5.3, Q2.5.1, Installation
3897 @unnumberedsubsec Q2.4.2: XEmacs won't start on Windows. 4407 @unnumberedsubsec Q2.5.2 Startup problems related to paths or package locations.
3898 4408
3899 XEmacs relies on a process called "dumping" to generate a working 4409 First of all, if XEmacs can't find the packages, check to make sure
3900 executable. Under MS-Windows this process effectively fixes the memory 4410 that you put the packages in the right place, or that you told XEmacs
3901 addresses of information in the executable. When XEmacs starts up it tries 4411 where to look for the packages when you compiled it. @xref{Q2.1.1}.
3902 to reserve these memory addresses so that the dumping process can be 4412
3903 reversed -- putting the information back at the correct addresses. 4413 If something is still going wrong, or you get a startup warning about
3904 Unfortunately some .DLLs (for instance the soundblaster driver) occupy 4414 not being able to deduce some paths, you can get detailed information
3905 memory addresses that can conflict with those needed by the dumped XEmacs 4415 on the path-searching process at startup by setting the environment
3906 executable. In this instance XEmacs will fail to start without any 4416 variable @samp{EMACSDEBUGPATHS} to a non-null value. One thing to
3907 explanation. Note that this is extremely machine specific. 4417 look for if you're having package problems is the value of
3908 4418 @samp{configure-package-path}. This corresponds to what was compiled
3909 21.1.10 includes a fix for this that makes more intelligent guesses 4419 into XEmacs using the @samp{--package-prefix} or @samp{--package-path}
3910 about which memory addresses will be free, and this should cure the 4420 parameter (@pxref{Q2.1.1}). If this has the value of @samp{nil},
3911 problem for most people. 21.4 implements "portable dumping", which 4421 this means that no value was compiled into XEmacs using these parameters.
3912 eliminates the problem altogether. We recommend you use the 21.4 4422
3913 binaries, but you can use the 21.1 binaries if you are very paranoid 4423 @node Q2.5.3, Q2.5.4, Q2.5.2, Installation
3914 about stability. @xref{Q1.1.2, Are binaries available?}. 4424 @unnumberedsubsec Q2.5.3: XEmacs won't start without network.
3915
3916 @node Q2.4.3, Q2.4.4, Q2.4.2, Installation
3917 @unnumberedsubsec Q2.4.3: XEmacs won't start without network.
3918 4425
3919 If XEmacs starts when you're on the network, but fails when you're not 4426 If XEmacs starts when you're on the network, but fails when you're not
3920 on the network, you may be missing a "localhost" entry in your 4427 on the network, you may be missing a "localhost" entry in your
3921 @file{/etc/hosts} file. The file should contain an entry like: 4428 @file{/etc/hosts} file. The file should contain an entry like:
3922 4429
3924 127.0.0.1 localhost 4431 127.0.0.1 localhost
3925 @end example 4432 @end example
3926 4433
3927 Add that line, and XEmacs will be happy. 4434 Add that line, and XEmacs will be happy.
3928 4435
3929 @node Q2.4.4, Q2.4.5, Q2.4.3, Installation 4436 @node Q2.5.4, Q2.5.5, Q2.5.3, Installation
3930 @unnumberedsubsec Q2.4.4: Startup warnings about deducing proper fonts? 4437 @unnumberedsubsec Q2.5.4: Startup warnings about deducing proper fonts?
3931 4438
3932 How can I avoid the startup warnings about deducing proper fonts? 4439 How can I avoid the startup warnings about deducing proper fonts?
3933 4440
3934 This is highly dependent on your installation, but try with the 4441 This is highly dependent on your installation, but try with the
3935 following font as your base font for XEmacs and see what it does: 4442 following font as your base font for XEmacs and see what it does:
3952 (setq display-warning-minimum-level 'error) 4459 (setq display-warning-minimum-level 'error)
3953 @end lisp 4460 @end lisp
3954 4461
3955 The buffer still exists; it just isn't in your face. 4462 The buffer still exists; it just isn't in your face.
3956 4463
3957 @node Q2.4.5, Q2.4.6, Q2.4.4, Installation 4464 @node Q2.5.5, Q2.5.6, Q2.5.4, Installation
3958 @unnumberedsubsec Q2.4.5: Warnings from incorrect key modifiers. 4465 @unnumberedsubsec Q2.5.5: Warnings from incorrect key modifiers.
3959 4466
3960 The following information comes from the @file{PROBLEMS} file that comes 4467 The following information comes from the @file{PROBLEMS} file that comes
3961 with XEmacs. 4468 with XEmacs.
3962 4469
3963 If you're having troubles with HP/UX it is because HP/UX defines the 4470 If you're having troubles with HP/UX it is because HP/UX defines the
3978 keysym Meta_R = Mode_switch 4485 keysym Meta_R = Mode_switch
3979 add mod2 = Mode_switch 4486 add mod2 = Mode_switch
3980 EOF 4487 EOF
3981 @end example 4488 @end example
3982 4489
3983 @node Q2.4.6, , Q2.4.5, Installation 4490 @node Q2.5.6, , Q2.5.5, Installation
3984 @unnumberedsubsec Q2.4.6: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed? 4491 @unnumberedsubsec Q2.5.6: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
3985 4492
3986 Yes. 4493 Yes.
3987 4494
3988 The console was there because @file{temacs} (and in turn, @file{xemacs}) 4495 The console was there because @file{temacs} (and in turn, @file{xemacs})
3989 was a console application, and Windows typically creates a new 4496 was a console application, and Windows typically creates a new
8001 to released XEmacsen, but users can apply themselves) are also accepted. 8508 to released XEmacsen, but users can apply themselves) are also accepted.
8002 8509
8003 @menu 8510 @menu
8004 10.0: XEmacs 21.1 8511 10.0: XEmacs 21.1
8005 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1. 8512 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
8513 * Q10.0.2:: XEmacs won't start on Windows in XEmacs 21.1.
8006 @end menu 8514 @end menu
8007 8515
8008 @unnumberedsec 10.0: XEmacs 21.1 8516 @unnumberedsec 10.0: XEmacs 21.1
8009 8517
8010 @node Q10.0.1, , Legacy Versions, Legacy Versions 8518 @node Q10.0.1, Q10.0.2, Legacy Versions, Legacy Versions
8011 @unnumberedsubsec Q10.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1. 8519 @unnumberedsubsec Q10.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
8012 8520
8013 @email{eeide@@cs.utah.edu, Eric Eide} wrote: 8521 @email{eeide@@cs.utah.edu, Eric Eide} wrote:
8014 8522
8015 @quotation 8523 @quotation
8043 8551
8044 The image-mode stuff is gone from format-alist in the 21.4 8552 The image-mode stuff is gone from format-alist in the 21.4
8045 branch, praise be. 8553 branch, praise be.
8046 @end quotation 8554 @end quotation
8047 8555
8556 @node Q10.0.2, , Q10.0.1, Legacy Versions
8557 @unnumberedsubsec Q10.0.2: XEmacs won't start on Windows in XEmacs 21.1.
8558
8559 XEmacs relies on a process called "dumping" to generate a working
8560 executable. Under MS-Windows this process effectively fixes the memory
8561 addresses of information in the executable. When XEmacs starts up it tries
8562 to reserve these memory addresses so that the dumping process can be
8563 reversed -- putting the information back at the correct addresses.
8564 Unfortunately some .DLLs (for instance the soundblaster driver) occupy
8565 memory addresses that can conflict with those needed by the dumped XEmacs
8566 executable. In this instance XEmacs will fail to start without any
8567 explanation. Note that this is extremely machine specific.
8568
8569 21.1.10 includes a fix for this that makes more intelligent guesses
8570 about which memory addresses will be free, and this should cure the
8571 problem for most people. 21.4 implements "portable dumping", which
8572 eliminates the problem altogether. We recommend you use the 21.4
8573 binaries, but you can use the 21.1 binaries if you are very paranoid
8574 about stability. @xref{Q1.1.2, Are binaries available?}.
8575
8048 @bye 8576 @bye