Mercurial > hg > xemacs-beta
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 |