comparison man/xemacs-faq.texi @ 365:30d2cfa1092a r21-1-12

Import from CVS: tag r21-1-12
author cvs
date Mon, 13 Aug 2007 11:00:12 +0200
parents 972bbb6d6ca2
children a4f53d9b3154
comparison
equal deleted inserted replaced
364:63c3368d1275 365:30d2cfa1092a
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: 2000/07/15 00:44:56 $ 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2000/08/02 01:33:39 $
11 @sp 1 11 @sp 1
12 @author Tony Rossini <arossini@@stat.sc.edu> 12 @author Tony Rossini <rossini@@biostat.washington.edu>
13 @author Ben Wing <ben@@xemacs.org> 13 @author Ben Wing <ben@@xemacs.org>
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>
16 @author Andreas Kaempf <andreas@@sccon.com> 16 @author Andreas Kaempf <andreas@@sccon.com>
17 @author Christian Nyb@o{} <chr@@mediascience.no> 17 @author Christian Nyb@o{} <chr@@mediascience.no>
18 @author Sandra Wambold <wambold@@pobox.com> 18 @author Sandra Wambold <wambold@@xemacs.org>
19 @page 19 @page
20 @end titlepage 20 @end titlepage
21 21
22 @ifinfo 22 @ifinfo
23 @dircategory XEmacs Editor 23 @dircategory XEmacs Editor
24 @direntry 24 @direntry
25 * FAQ: (xemacs-faq). XEmacs FAQ. 25 * FAQ: (xemacs-faq). XEmacs FAQ.
26 @end direntry 26 @end direntry
27 @end ifinfo 27 @end ifinfo
28 28
29 @node Top, Introduction, (dir), (dir) 29 @node Top, Introduction, (dir), (dir)
30 @top XEmacs FAQ 30 @top XEmacs FAQ
31 @unnumbered Introduction 31 @unnumbered Introduction
32 32
33 This is the guide to the XEmacs Frequently Asked Questions list---a 33 This is the guide to the XEmacs Frequently Asked Questions list---a
34 compendium of questions and answers pertaining to one of the finest 34 compendium of questions and answers pertaining to one of the finest
35 programs ever written. It is much more than just a Text Editor. 35 programs ever written. XEmacs is much more than just a Text Editor.
36 36
37 This FAQ is freely redistributable. I take no liability for the 37 This FAQ is freely redistributable. This FAQ is distributed in the hope
38 correctness and safety of any procedures or advice given here. This 38 that it will be useful, but WITHOUT ANY WARRANTY; without even the
39 FAQ is distributed in the hope that it will be useful, but WITHOUT ANY 39 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
40 WARRANTY; without even the implied warranty of MERCHANTABILITY or
41 FITNESS FOR A PARTICULAR PURPOSE.
42 40
43 If you have a Web browser, the official hypertext version is at 41 If you have a Web browser, the official hypertext version is at
44 @iftex 42 @iftex
45 @* 43 @*
46 @end iftex 44 @end iftex
47 @uref{http://www.xemacs.org/faq/xemacs-faq.html}. 45 @uref{http://www.xemacs.org/faq/xemacs-faq.html}
48
49 This version is somewhat nicer than the unofficial hypertext versions
50 that are archived at Utrecht, Oxford, Smart Pages, and other FAQ
51 archives.
52 46
53 @ifset CANONICAL 47 @ifset CANONICAL
54 @html 48 @html
55 This document is available in several different formats: 49 This document is available in several different formats:
56 @itemize @bullet 50 @itemize @bullet
102 * Q1.0.2:: What is the current version of XEmacs? 96 * Q1.0.2:: What is the current version of XEmacs?
103 * Q1.0.3:: Where can I find it? 97 * Q1.0.3:: Where can I find it?
104 * Q1.0.4:: Why Another Version of Emacs? 98 * Q1.0.4:: Why Another Version of Emacs?
105 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? 99 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged?
106 * Q1.0.6:: Where can I get help? 100 * Q1.0.6:: Where can I get help?
107 * Q1.0.7:: Where is the mailing list archived? 101 * Q1.0.7:: Where are the mailing lists archived?
108 * Q1.0.8:: How do you pronounce XEmacs? 102 * Q1.0.8:: How do you pronounce XEmacs?
109 * Q1.0.9:: What does XEmacs look like? 103 * Q1.0.9:: What does XEmacs look like?
110 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)? 104 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)?
111 * Q1.0.11:: Is there a port of XEmacs to the Macintosh? 105 * Q1.0.11:: Is there a port of XEmacs to the Macintosh?
112 * Q1.0.12:: Is there a port of XEmacs to NextStep? 106 * Q1.0.12:: Is there a port of XEmacs to NextStep?
122 * Q1.2.1:: Who wrote XEmacs? 116 * Q1.2.1:: Who wrote XEmacs?
123 * Q1.2.2:: Who contributed to this version of the FAQ? 117 * Q1.2.2:: Who contributed to this version of the FAQ?
124 * Q1.2.3:: Who contributed to the FAQ in the past? 118 * Q1.2.3:: Who contributed to the FAQ in the past?
125 119
126 Internationalization: 120 Internationalization:
127 * Q1.3.1:: What is the status of XEmacs v20? 121 * Q1.3.1:: What is the status of internationalization support aka MULE (including Asian language support?
128 * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}? 122 * Q1.3.2:: How can I help with internationalization?
129 * Q1.3.3:: How do I type non-ASCII characters? 123 * Q1.3.3:: How do I type non-ASCII characters?
130 * Q1.3.4:: Can XEmacs messages come out in a different language? 124 * Q1.3.4:: Can XEmacs messages come out in a different language?
131 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0 125 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs
132 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0? 126 * Q1.3.6:: How do I portably code for MULE/XEmacs?
133 * Q1.3.7:: How about Cyrillic Modes? 127 * Q1.3.7:: How about Cyrillic Modes?
134 128
135 Getting Started: 129 Getting Started:
136 * Q1.4.1:: What is a @file{.emacs} and is there a sample one? 130 * Q1.4.1:: What is a @file{.emacs} and is there a sample one?
137 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs? 131 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs?
138 * Q1.4.3:: Any good XEmacs tutorials around? 132 * Q1.4.3:: Any good XEmacs tutorials around?
139 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function? 133 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function?
140 * Q1.4.5:: And how do I bind it to a key? 134 * Q1.4.5:: And how do I bind it to a key?
141 * Q1.4.6:: What's the difference between a macro and a function? 135 * Q1.4.6:: What's the difference between a macro and a function?
142 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or later?
143 136
144 Installation and Trouble Shooting 137 Installation and Trouble Shooting
145 138
146 * Q2.0.1:: Running XEmacs without installing. 139 * Q2.0.1:: Running XEmacs without installing.
147 * Q2.0.2:: XEmacs is too big. 140 * Q2.0.2:: XEmacs is too big.
153 * Q2.0.8:: can't resolve symbol _h_errno 146 * Q2.0.8:: can't resolve symbol _h_errno
154 * Q2.0.9:: Where do I find external libraries? 147 * Q2.0.9:: Where do I find external libraries?
155 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 148 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
156 * Q2.0.11:: XEmacs can't resolve host names. 149 * Q2.0.11:: XEmacs can't resolve host names.
157 * Q2.0.12:: Why can't I strip XEmacs? 150 * Q2.0.12:: Why can't I strip XEmacs?
158 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc.
159 * Q2.0.14:: Make on HP/UX 9 fails after linking temacs
160 151
161 Trouble Shooting: 152 Trouble Shooting:
162 * Q2.1.1:: XEmacs just crashed on me! 153 * Q2.1.1:: XEmacs just crashed on me!
163 * Q2.1.2:: Cryptic Minibuffer messages. 154 * Q2.1.2:: Cryptic Minibuffer messages.
164 * Q2.1.3:: Translation Table Syntax messages at Startup. 155 * Q2.1.3:: Translation Table Syntax messages at Startup.
174 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure 165 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure
175 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken? 166 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken?
176 * Q2.1.15:: How to debug an XEmacs problem with a debugger. 167 * Q2.1.15:: How to debug an XEmacs problem with a debugger.
177 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10. 168 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10.
178 * Q2.1.17:: @samp{Marker does not point anywhere}. 169 * Q2.1.17:: @samp{Marker does not point anywhere}.
179 * Q2.1.18:: 19.14 hangs on HP/UX 10.10. 170 * Q2.1.18:: [This question intentionally left blank]
180 * Q2.1.19:: XEmacs does not follow the local timezone. 171 * Q2.1.19:: XEmacs does not follow the local timezone.
181 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 172 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
182 * Q2.1.21:: Every so often the XEmacs frame freezes. 173 * Q2.1.21:: [This question intentionally left blank]
183 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 174 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
184 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later. 175 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
176 * Q2.1.24:: XEmacs won't start without network. (NEW)
185 177
186 Customization and Options 178 Customization and Options
187 179
188 * Q3.0.1:: What version of Emacs am I running? 180 * Q3.0.1:: What version of Emacs am I running?
189 * Q3.0.2:: How do I evaluate Elisp expressions? 181 * Q3.0.2:: How do I evaluate Elisp expressions?
196 * Q3.0.9:: What is @code{Customize}? 188 * Q3.0.9:: What is @code{Customize}?
197 189
198 X Window System & Resources: 190 X Window System & Resources:
199 * Q3.1.1:: Where is a list of X resources? 191 * Q3.1.1:: Where is a list of X resources?
200 * Q3.1.2:: How can I detect a color display? 192 * Q3.1.2:: How can I detect a color display?
201 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13? 193 * Q3.1.3:: [This question intentionally left blank]
202 * Q3.1.4:: Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? 194 * Q3.1.4:: [This question intentionally left blank]
203 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? 195 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}?
204 * Q3.1.6:: How can I have the window title area display the full path? 196 * Q3.1.6:: How can I have the window title area display the full path?
205 * Q3.1.7:: @samp{xemacs -name junk} doesn't work? 197 * Q3.1.7:: @samp{xemacs -name junk} doesn't work?
206 * Q3.1.8:: @samp{-iconic} doesn't work. 198 * Q3.1.8:: @samp{-iconic} doesn't work.
207 199
316 * Q4.6.1:: What is Infodock? 308 * Q4.6.1:: What is Infodock?
317 309
318 Other Unbundled Packages: 310 Other Unbundled Packages:
319 * Q4.7.1:: What is AUC TeX? Where do you get it? 311 * Q4.7.1:: What is AUC TeX? Where do you get it?
320 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets? 312 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets?
321 * Q4.7.3:: Byte compiling AUC TeX on XEmacs 19.14 313 * Q4.7.3:: [This question intentionally left blank]
322 * Q4.7.4:: Problems installing AUC TeX 314 * Q4.7.4:: Problems installing AUC TeX
323 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs? 315 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs?
324 * Q4.7.6:: Is there a MatLab mode? 316 * Q4.7.6:: Is there a MatLab mode?
325 317
326 The Miscellaneous Stuff 318 The Miscellaneous Stuff
333 * Q5.0.6:: How do I start up a second shell buffer? 325 * Q5.0.6:: How do I start up a second shell buffer?
334 * Q5.0.7:: Telnet from shell filters too much. 326 * Q5.0.7:: Telnet from shell filters too much.
335 * Q5.0.8:: Why does edt emulation not work? 327 * Q5.0.8:: Why does edt emulation not work?
336 * Q5.0.9:: How can I emulate VI and use it as my default mode? 328 * Q5.0.9:: How can I emulate VI and use it as my default mode?
337 * Q5.0.10:: [This question intentionally left blank] 329 * Q5.0.10:: [This question intentionally left blank]
338 * Q5.0.11:: Filladapt doesn't work in 19.15? 330 * Q5.0.11:: How do I turn on filladapt for all buffers?
339 * Q5.0.12:: How do I disable gnuserv from opening a new frame? 331 * Q5.0.12:: How do I disable gnuserv from opening a new frame?
340 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? 332 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client?
341 * Q5.0.14:: Strange things are happening in Shell Mode. 333 * Q5.0.14:: Strange things are happening in Shell Mode.
342 * Q5.0.15:: Where do I get the latest CC Mode? 334 * Q5.0.15:: Where do I get the latest CC Mode?
343 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off? 335 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off?
344 * Q5.0.17:: How can I get two instances of info? 336 * Q5.0.17:: How can I get two instances of info?
345 * Q5.0.18:: I upgraded to XEmacs 19.14 and gnuserv stopped working 337 * Q5.0.18:: [This question intentionally left blank]
346 * Q5.0.19:: Is there something better than LaTeX mode? 338 * Q5.0.19:: Is there something better than LaTeX mode?
347 * Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? 339 * Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
348 340
349 Emacs Lisp Programming Techniques: 341 Emacs Lisp Programming Techniques:
350 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? 342 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs?
380 * Q5.3.12:: What do I need to change to make printing work? 372 * Q5.3.12:: What do I need to change to make printing work?
381 373
382 XEmacs on MS Windows 374 XEmacs on MS Windows
383 375
384 General Info: 376 General Info:
385 * Q6.0.1:: What is the status of the XEmacs port to Windows? 377 * Q6.0.1:: What is the status of the XEmacs port to Windows?
386 * Q6.0.2:: What flavors of MS Windows are supported? 378 * Q6.0.2:: What flavors of MS Windows are supported?
387 * Q6.0.3:: Are binary kits available? 379 * Q6.0.3:: Are binary kits available?
388 * Q6.0.4:: Does XEmacs on MS Windows require an X server to run? 380 * Q6.0.4:: Does XEmacs on MS Windows require an X server to run?
389 381
390 Building XEmacs on MS Windows: 382 Building XEmacs on MS Windows:
391 * Q6.1.1:: I decided to run with X. Where do I get an X server? 383 * Q6.1.1:: I decided to run with X. Where do I get an X server?
392 * Q6.1.2:: What compiler do I need to compile XEmacs? 384 * Q6.1.2:: What compiler do I need to compile XEmacs?
393 * Q6.1.3:: How do I compile for the native port? 385 * Q6.1.3:: How do I compile for the native port?
394 * Q6.1.4:: How do I compile for the X port? 386 * Q6.1.4:: How do I compile for the X port?
395 * Q6.1.5:: How do I compile for Cygnus' Cygwin? 387 * Q6.1.5:: How do I compile for Cygnus' Cygwin?
396 * Q6.1.6:: What do I need for Cygwin? 388 * Q6.1.6:: What do I need for Cygwin?
397 389
398 Customization and User Interface: 390 Customization and User Interface:
399 * Q6.2.1:: How will the port cope with differences in the Windows user interface? 391 * Q6.2.1:: How will the port cope with differences in the Windows user interface?
400 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? 392 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows?
401 * Q6.2.3:: Where do I put my @file{.emacs} file? 393 * Q6.2.3:: Where do I put my @file{.emacs} file?
402 394
403 Miscellaneous: 395 Miscellaneous:
404 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*? 396 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*?
405 * Q6.3.2:: What are the differences between the various MS Windows emacsen? 397 * Q6.3.2:: What are the differences between the various MS Windows emacsen?
406 * Q6.3.3:: What is the porting team doing at the moment? 398 * Q6.3.3:: What is the porting team doing at the moment?
407 399
408 Troubleshooting: 400 Troubleshooting:
409 * Q6.4.1:: XEmacs won't start on Windows. (NEW) 401 * Q6.4.1:: XEmacs won't start on Windows. (NEW)
410 402
411 Current Events: 403 Current Events:
425 be complete. Instead it is aimed at the person who is either 417 be complete. Instead it is aimed at the person who is either
426 considering XEmacs for their own use, or has just obtained it and is 418 considering XEmacs for their own use, or has just obtained it and is
427 wondering what to do next. It is also useful as a reference to 419 wondering what to do next. It is also useful as a reference to
428 available resources. 420 available resources.
429 421
430 The previous maintainer of the FAQ was @email{rossini@@stat.sc.edu, 422 The previous maintainer of the FAQ was @email{rossini@@biostat.washington.edu,
431 Anthony Rossini}, who started it, after getting tired of hearing JWZ 423 Anthony Rossini}, who started it, after getting tired of hearing JWZ
432 complain about repeatedly having to answer questions. 424 complain about repeatedly having to answer questions.
433 @email{ben@@xemacs.org, Ben Wing} and @email{cthomp@@xemacs.org, Chuck 425 @email{ben@@xemacs.org, Ben Wing} and @email{cthomp@@xemacs.org, Chuck
434 Thompson}, the principal authors of XEmacs, then took over and Ben did 426 Thompson}, the principal authors of XEmacs, then took over and Ben did
435 a massive update reorganizing the whole thing. At which point Anthony 427 a massive update reorganizing the whole thing. At which point Anthony
436 took back over, but then had to give it up again. Some of the other 428 took back over, but then had to give it up again. Some of the other
437 contributors to this FAQ are listed later in this document. 429 contributors to this FAQ are listed later in this document.
438 430
439 The previous version was converted to hypertext format, and edited by 431 The previous version was converted to hypertext format, and edited by
440 @email{steve@@xemacs.org, Steven L. Baur}. It was converted back to 432 @email{steve@@xemacs.org, Steven L. Baur}. It was converted back to
441 texinfo by @email{hniksic@@xemacs.org, Hrvoje Niksic}. 433 texinfo by @email{hniksic@@xemacs.org, Hrvoje Niksic}. The FAQ was then
442 434 maintained by @email{andreas@@sccon.com, Andreas Kaempf}, who passed it
443 The FAQ was then maintained by @email{andreas@@sccon.com, Andreas 435 on to ChristianNyb@o{}.
444 Kaempf}, who passed it on to @email{faq@@xemacs.org, Christian
445 Nyb@o{}}, the current FAQ maintainer.
446 436
447 If you notice any errors or items which should be added or amended to 437 If you notice any errors or items which should be added or amended to
448 this FAQ please send email to @email{faq@@xemacs.org, Christian 438 this FAQ please send email to @email{faq@@xemacs.org, Sandra
449 Nyb@o{}}. Include @samp{XEmacs FAQ} on the Subject: line. 439 Wambold}. Include @samp{XEmacs FAQ} on the Subject: line.
450 440
451 @menu 441 @menu
452 Introduction: 442 Introduction:
453 * Q1.0.1:: What is XEmacs? 443 * Q1.0.1:: What is XEmacs?
454 * Q1.0.2:: What is the current version of XEmacs? 444 * Q1.0.2:: What is the current version of XEmacs?
455 * Q1.0.3:: Where can I find it? 445 * Q1.0.3:: Where can I find it?
456 * Q1.0.4:: Why Another Version of Emacs? 446 * Q1.0.4:: Why Another Version of Emacs?
457 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? 447 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged?
458 * Q1.0.6:: Where can I get help? 448 * Q1.0.6:: Where can I get help?
459 * Q1.0.7:: Where is the mailing list archived? 449 * Q1.0.7:: Where are the mailing lists archived?
460 * Q1.0.8:: How do you pronounce XEmacs? 450 * Q1.0.8:: How do you pronounce XEmacs?
461 * Q1.0.9:: What does XEmacs look like? 451 * Q1.0.9:: What does XEmacs look like?
462 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)? 452 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)?
463 * Q1.0.11:: Is there a port of XEmacs to the Macintosh? 453 * Q1.0.11:: Is there a port of XEmacs to the Macintosh?
464 * Q1.0.12:: Is there a port of XEmacs to NextStep? 454 * Q1.0.12:: Is there a port of XEmacs to NextStep?
474 * Q1.2.1:: Who wrote XEmacs? 464 * Q1.2.1:: Who wrote XEmacs?
475 * Q1.2.2:: Who contributed to this version of the FAQ? 465 * Q1.2.2:: Who contributed to this version of the FAQ?
476 * Q1.2.3:: Who contributed to the FAQ in the past? 466 * Q1.2.3:: Who contributed to the FAQ in the past?
477 467
478 Internationalization: 468 Internationalization:
479 * Q1.3.1:: What is the status of XEmacs v20? 469 * Q1.3.1:: What is the status of internationalization support aka MULE (including Asian language support?
480 * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}? 470 * Q1.3.2:: How can I help with internationalization?
481 * Q1.3.3:: How do I type non-ASCII characters? 471 * Q1.3.3:: How do I type non-ASCII characters?
482 * Q1.3.4:: Can XEmacs messages come out in a different language? 472 * Q1.3.4:: Can XEmacs messages come out in a different language?
483 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0 473 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs
484 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0? 474 * Q1.3.6:: How do I portably code for MULE/XEmacs?
485 * Q1.3.7:: How about Cyrillic Modes? 475 * Q1.3.7:: How about Cyrillic Modes?
486 476
487 Getting Started: 477 Getting Started:
488 * Q1.4.1:: What is a @file{.emacs} and is there a sample one? 478 * Q1.4.1:: What is a @file{.emacs} and is there a sample one?
489 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs? 479 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs?
490 * Q1.4.3:: Any good XEmacs tutorials around? 480 * Q1.4.3:: Any good XEmacs tutorials around?
491 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function? 481 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function?
492 * Q1.4.5:: And how do I bind it to a key? 482 * Q1.4.5:: And how do I bind it to a key?
493 * Q1.4.6:: What's the difference between a macro and a function? 483 * Q1.4.6:: What's the difference between a macro and a function?
494 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or later?
495 @end menu 484 @end menu
496 485
497 @node Q1.0.1, Q1.0.2, Introduction, Introduction 486 @node Q1.0.1, Q1.0.2, Introduction, Introduction
498 @unnumberedsec 1.0: Introduction 487 @unnumberedsec 1.0: Introduction
499 @unnumberedsubsec Q1.0.1: What is XEmacs? 488 @unnumberedsubsec Q1.0.1: What is XEmacs?
506 track changes to GNU Emacs while also working to add new features. 495 track changes to GNU Emacs while also working to add new features.
507 496
508 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction 497 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction
509 @unnumberedsubsec Q1.0.2: What is the current version of XEmacs? 498 @unnumberedsubsec Q1.0.2: What is the current version of XEmacs?
510 499
511 XEmacs 21.1.8 is the current stable version of XEmacs. 500 XEmacs versions 21.1.* are releases made from the current stable
512 501 sources. XEmacs versions 21.2.* are releases made from the development
513 XEmacs 20.4 is a minor upgrade from 20.3, containing many bugfixes. It 502 sources. Check at @uref{http://www.xemacs.org} for the current minor
514 was released in February 1998. 503 version.
515 504
516 XEmacs 19.16 was the last release of v19, released in November, 1997, 505 XEmacs 19.16 was the last release of v19, released in November, 1997,
517 which was also the last version without international language support. 506 which was also the last version without international language support.
518 507
519 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction 508 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
634 list. To cancel a subscription, you @strong{must} use the 623 list. To cancel a subscription, you @strong{must} use the
635 xemacs-request address. Send a message with a subject of 624 xemacs-request address. Send a message with a subject of
636 @samp{unsubscribe} to be removed. 625 @samp{unsubscribe} to be removed.
637 626
638 @node Q1.0.7, Q1.0.8, Q1.0.6, Introduction 627 @node Q1.0.7, Q1.0.8, Q1.0.6, Introduction
639 @unnumberedsubsec Q1.0.7: Where is the mailing list archived? 628 @unnumberedsubsec Q1.0.7: Where are the mailing lists archived?
640 629
641 The archives can be found at @uref{http://www.xemacs.org/Lists/Archive} 630 The archives can be found at @uref{http://www.xemacs.org/Lists/Archive}
642 631
643 @node Q1.0.8, Q1.0.9, Q1.0.7, Introduction 632 @node Q1.0.8, Q1.0.9, Q1.0.7, Introduction
644 @unnumberedsubsec Q1.0.8: How do you pronounce XEmacs? 633 @unnumberedsubsec Q1.0.8: How do you pronounce XEmacs?
662 @comment @email{davidh@@wr.com.au, David Hobley} and @email{marcpa@@cam.org, Marc 651 @comment @email{davidh@@wr.com.au, David Hobley} and @email{marcpa@@cam.org, Marc
663 @comment Paquette}, beta versions of XEmacs now run on 32-bit Windows platforms 652 @comment Paquette}, beta versions of XEmacs now run on 32-bit Windows platforms
664 @comment (NT and 95). The current betas require having an X server to run 653 @comment (NT and 95). The current betas require having an X server to run
665 @comment XEmacs; however, a native NT/95 port is in alpha, thanks to 654 @comment XEmacs; however, a native NT/95 port is in alpha, thanks to
666 @comment @email{jhar@@tardis.ed.ac.uk, Jonathan Harris}. 655 @comment @email{jhar@@tardis.ed.ac.uk, Jonathan Harris}.
667 @comment 656 @comment
668 @comment Although some features are still unimplemented, XEmacs 21.0 will support 657 @comment Although some features are still unimplemented, XEmacs 21.0 will support
669 @comment MS-Windows. 658 @comment MS-Windows.
670 @comment 659 @comment
671 @comment The NT development is now coordinated by a mailing list at 660 @comment The NT development is now coordinated by a mailing list at
672 @comment @email{xemacs-nt@@xemacs.org}. 661 @comment @email{xemacs-nt@@xemacs.org}.
673 @comment 662 @comment
674 @comment If you are willing to contribute or want to follow the progress, mail to 663 @comment If you are willing to contribute or want to follow the progress, mail to
675 @comment @iftex 664 @comment @iftex
676 @comment @* 665 @comment @*
677 @comment @end iftex 666 @comment @end iftex
678 @comment @email{xemacs-nt-request@@xemacs.org} to subscribe. 667 @comment @email{xemacs-nt-request@@xemacs.org} to subscribe.
679 @comment 668 @comment
680 @comment Furthermore, Altrasoft is seeking corporate and government sponsors to 669 @comment Furthermore, Altrasoft is seeking corporate and government sponsors to
681 @comment help fund a fully native port of XEmacs to Windows 95 and NT using 670 @comment help fund a fully native port of XEmacs to Windows 95 and NT using
682 @comment full-time, senior-level staff working under a professionally managed 671 @comment full-time, senior-level staff working under a professionally managed
683 @comment project structure. See @uref{http://www.altrasoft.com/, the Altrasoft 672 @comment project structure. See @uref{http://www.altrasoft.com/, the Altrasoft
684 @comment web site} for more details 673 @comment web site} for more details
685 @comment or contact Altrasoft directly at 1-888-ALTSOFT. 674 @comment or contact Altrasoft directly at 1-888-ALTSOFT.
686 @comment 675 @comment
687 @comment 676 @comment
688 @comment The closest existing port is @dfn{Win-Emacs}, which is based on Lucid 677 @comment The closest existing port is @dfn{Win-Emacs}, which is based on Lucid
689 @comment Emacs 19.6. Available from @uref{http://www.pearlsoft.com/}. 678 @comment Emacs 19.6. Available from @uref{http://www.pearlsoft.com/}.
690 @comment 679 @comment
691 @comment There's a port of GNU Emacs (not XEmacs) at 680 @comment There's a port of GNU Emacs (not XEmacs) at
692 @comment @example 681 @comment @example
693 @comment @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}. 682 @comment @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}.
694 @comment @end example 683 @comment @end example
695 684
696 @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction 685 @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction
697 @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh? 686 @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh?
698 @c changed 687 @c changed
699 688
700 There has been a port to the MachTen environment of XEmacs 19.13, but no 689 @c There has been a port to the MachTen environment of XEmacs 19.13, but no
701 patches have been submitted to the maintainers to get this in the 690 @c patches have been submitted to the maintainers to get this in the
702 mainstream distribution. 691 @c mainstream distribution.
703 692 @c
704 For the MacOS, there is a port of 693 @c For the MacOS, there is a port of
705 @uref{ftp://ftp.cs.cornell.edu/pub/parmet/, Emacs 18.59}. 694 @c @uref{ftp://ftp.cs.cornell.edu/pub/parmet/, Emacs 18.59}.
695
696 Yes, there is a port of XEmacs 19.14, tested on MacOS 7.6.1 and MacOS
697 8.5.1 by @email{pjarvis@@ispchannel.com, Pitts Jarvis}. It's available
698 at @uref{http://my.ispchannel.com/~pjarvis/xemacs.html}.
706 699
707 @node Q1.0.12, Q1.0.13, Q1.0.11, Introduction 700 @node Q1.0.12, Q1.0.13, Q1.0.11, Introduction
708 @unnumberedsubsec Q1.0.12: Is there a port of XEmacs to NextStep? 701 @unnumberedsubsec Q1.0.12: Is there a port of XEmacs to NextStep?
709 702
710 Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did 703 Carl Edman, apparently no longer at @email{cedman@@princeton.edu}, did
712 XEmacs port, but never went any farther. 705 XEmacs port, but never went any farther.
713 706
714 @node Q1.0.13, Q1.0.14, Q1.0.12, Introduction 707 @node Q1.0.13, Q1.0.14, Q1.0.12, Introduction
715 @unnumberedsubsec Q1.0.13: Is there a port of XEmacs to OS/2? 708 @unnumberedsubsec Q1.0.13: Is there a port of XEmacs to OS/2?
716 709
717 No, and there is no news of anyone working on it. 710 No, but Alexander Nikolaev <avn_1251@@mail.ru> is working on it.
718 711
719 @node Q1.0.14, Q1.1.1, Q1.0.13, Introduction 712 @node Q1.0.14, Q1.1.1, Q1.0.13, Introduction
720 @unnumberedsubsec Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual? 713 @unnumberedsubsec Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual?
721 714
722 Pre-printed manuals are not available. If you are familiar with 715 Pre-printed manuals are not available. If you are familiar with
723 TeX, you can generate your own manual from the XEmacs sources. 716 TeX, you can generate your own manual from the XEmacs sources.
724 717
725 HTML and Postscript versions of XEmacs manuals may be available from the 718 HTML and Postscript versions of XEmacs manuals may be available from the
726 XEmacs web site in the future. 719 XEmacs web site in the future. Send requests to @email{faq@@xemacs.org}.
727
728 720
729 @node Q1.1.1, Q1.1.2, Q1.0.14, Introduction 721 @node Q1.1.1, Q1.1.2, Q1.0.14, Introduction
730 @unnumberedsec 1.1: Policies 722 @unnumberedsec 1.1: Policies
731 @unnumberedsubsec Q1.1.1: What is the FAQ editorial policy? 723 @unnumberedsubsec Q1.1.1: What is the FAQ editorial policy?
732 724
733 The FAQ is actively maintained and modified regularly. All links should 725 The FAQ is actively maintained and modified regularly. All links should
734 be up to date. All submissions are welcome. E-mail submissions to 726 be up to date. Unfortunately, some of the information is out of date --
735 @email{faq@@xemacs.org, XEmacs FAQ maintainers}. 727 a situation which the FAQ maintainer is working on. All submissions are
728 welcome, please e-mail submissions to @email{faq@@xemacs.org, XEmacs FAQ
729 maintainers}.
736 730
737 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line. 731 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line.
738 If you think you have a better way of answering a question, or think a 732 If you think you have a better way of answering a question, or think a
739 question should be included, we'd like to hear about it. Questions and 733 question should be included, we'd like to hear about it. Questions and
740 answers included into the FAQ will be edited for spelling and grammar, 734 answers included into the FAQ will be edited for spelling and grammar
741 and will be attributed. Answers appearing without attribution are 735 and will be attributed. Answers appearing without attribution are
742 either from versions of the FAQ dated before May 1996, or are from one 736 either from versions of the FAQ dated before May 1996 or are from
743 of the four people listed at the top of this document. Answers quoted 737 previous FAQ maintainers. Answers quoted from Usenet news articles will
744 from Usenet news articles will always be attributed, regardless of the 738 always be attributed, regardless of the author.
745 author.
746 739
747 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction 740 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction
748 @unnumberedsubsec Q1.1.2: How do I become a Beta Tester? 741 @unnumberedsubsec Q1.1.2: How do I become a Beta Tester?
749 742
750 Send an email message to @email{xemacs-beta-request@@xemacs.org} with 743 Send an email message to @email{xemacs-beta-request@@xemacs.org} with
871 crash some time ago. 864 crash some time ago.
872 865
873 @itemize @bullet 866 @itemize @bullet
874 @item @email{binge@@aloft.att.com, Curtis.N.Bingham} 867 @item @email{binge@@aloft.att.com, Curtis.N.Bingham}
875 868
869 @item @email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan}
870
876 @item @email{rjc@@cogsci.ed.ac.uk, Richard Caley} 871 @item @email{rjc@@cogsci.ed.ac.uk, Richard Caley}
877 872
878 @item @email{cognot@@ensg.u-nancy.fr, Richard Cognot} 873 @item @email{cognot@@ensg.u-nancy.fr, Richard Cognot}
879 874
875 @item @email{daku@@nortel.ca, Mark Daku}
876
880 @item @email{wgd@@martigny.ai.mit.edu, William G. Dubuque} 877 @item @email{wgd@@martigny.ai.mit.edu, William G. Dubuque}
881 878
882 @item @email{eeide@@cs.utah.edu, Eric Eide} 879 @item @email{eeide@@cs.utah.edu, Eric Eide}
880
881 @item @email{af@@biomath.jussieu.fr, Alain Fauconnet}
883 882
884 @item @email{cflatter@@nrao.edu, Chris Flatters} 883 @item @email{cflatter@@nrao.edu, Chris Flatters}
885 884
886 @item @email{ginsparg@@adra.com, Evelyn Ginsparg} 885 @item @email{ginsparg@@adra.com, Evelyn Ginsparg}
887 886
904 @item @email{Aki.Vehtari@@hut.fi, Aki Vehtari} 903 @item @email{Aki.Vehtari@@hut.fi, Aki Vehtari}
905 @end itemize 904 @end itemize
906 905
907 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction 906 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction
908 @unnumberedsec 1.3: Internationalization 907 @unnumberedsec 1.3: Internationalization
909 @unnumberedsubsec Q1.3.1: What is the status of XEmacs v20? 908 @unnumberedsubsec Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support?
910 909
911 XEmacs v20 is the version of XEmacs that includes MULE (Asian-language) 910 Both the stable and development versions of XEmacs include
912 support. XEmacs 20.0 was released in February 1997, followed by XEmacs 911 internationalization support (aka MULE). MULE currently works on UNIX
913 20.2 in May, XEmacs 20.3 in November and XEmacs 20.4 in February 1998. When compiled without MULE 912 and Linux systems; work for supporting MULE on Windows operating systems
914 support, 20.4 is approximately as stable as 19.16, and probably faster 913 is in progress. Binaries compiled without MULE support run faster than
915 (due to additional optimization work.) 914 MULE capable XEmacsen.
916
917 As of XEmacs 20.3, version 20 is @emph{the} supported version of
918 XEmacs. This means that 19.16 will optionally receive stability fixes
919 (if any), but that all the real development work will be done on the v20
920 tree.
921
922 The incompatible changes in XEmacs 20 include the additional byte-codes,
923 new primitive data types (@code{character}, @code{char-table}, and
924 @code{range-table}). This means that the character-integer equivalence
925 inherent to all the previous Emacs and XEmacs releases no longer
926 applies.
927
928 However, to avoid breaking old code, many functions that should normally
929 accept characters work with integers, and vice versa. For more
930 information, see the Lisp reference manual. Here is a relevant excerpt,
931 for your convenience.
932
933 @quotation
934 In XEmacs version 19, and in all versions of FSF GNU Emacs, a
935 @dfn{character} in XEmacs Lisp is nothing more than an integer.
936 This is yet another holdover from XEmacs Lisp's derivation from
937 vintage-1980 Lisps; modern versions of Lisp consider this equivalence
938 a bad idea, and have separate character types. In XEmacs version 20,
939 the modern convention is followed, and characters are their own
940 primitive types. (This change was necessary in order for @sc{mule},
941 i.e. Asian-language, support to be correctly implemented.)
942
943 Even in XEmacs version 20, remnants of the equivalence between
944 characters and integers still exist; this is termed the @dfn{char-int
945 confoundance disease}. In particular, many functions such as @code{eq},
946 @code{equal}, and @code{memq} have equivalent functions (@code{old-eq},
947 @code{old-equal}, @code{old-memq}, etc.) that pretend like characters
948 are integers are the same. Byte code compiled under any version 19
949 Emacs will have all such functions mapped to their @code{old-} equivalents
950 when the byte code is read into XEmacs 20. This is to preserve
951 compatibility -- Emacs 19 converts all constant characters to the equivalent
952 integer during byte-compilation, and thus there is no other way to preserve
953 byte-code compatibility even if the code has specifically been written
954 with the distinction between characters and integers in mind.
955
956 Every character has an equivalent integer, called the @dfn{character
957 code}. For example, the character @kbd{A} is represented as the
958 @w{integer 65}, following the standard @sc{ascii} representation of
959 characters. If XEmacs was not compiled with @sc{mule} support, the
960 range of this integer will always be 0 to 255 -- eight bits, or one
961 byte. (Integers outside this range are accepted but silently truncated;
962 however, you should most decidedly @emph{not} rely on this, because it
963 will not work under XEmacs with @sc{mule} support.) When @sc{mule}
964 support is present, the range of character codes is much
965 larger. (Currently, 19 bits are used.)
966
967 FSF GNU Emacs uses kludgy character codes above 255 to represent
968 keyboard input of @sc{ascii} characters in combination with certain
969 modifiers. XEmacs does not use this (a more general mechanism is
970 used that does not distinguish between @sc{ascii} keys and other
971 keys), so you will never find character codes above 255 in a
972 non-@sc{mule} XEmacs.
973
974 Individual characters are not often used in programs. It is far more
975 common to work with @emph{strings}, which are sequences composed of
976 characters.
977 @end quotation
978 915
979 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction 916 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
980 @unnumberedsubsec Q1.3.2: What is the status of Asian-language support, aka MULE? 917 @unnumberedsubsec Q1.3.2: How can I help with internationalization?
981
982 MULE support is now available for UNIX versions of XEmacs.
983 918
984 If you would like to help, you may want to join the 919 If you would like to help, you may want to join the
985 @email{xemacs-mule@@xemacs.org} mailing list. Especially needed are 920 @email{xemacs-mule@@xemacs.org} mailing list. Especially needed are
986 people who speak/write languages other than English, who are willing to 921 people who speak/write languages other than English, who are willing to
987 use XEmacs/MULE regularly, and have some experience with Elisp. 922 use XEmacs/MULE regularly, and have some experience with Elisp.
996 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction 931 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction
997 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language? 932 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language?
998 933
999 The message-catalog support has mostly been written but doesn't 934 The message-catalog support has mostly been written but doesn't
1000 currently work. The first release of XEmacs 20 will @emph{not} support 935 currently work. The first release of XEmacs 20 will @emph{not} support
1001 it. However, menubar localization @emph{does} work, even in 19.14. To 936 it. However, menubar localization @emph{does} work. To
1002 enable it, add to your @file{Emacs} file entries like this: 937 enable it, add to your @file{Emacs} file entries like this:
1003 938
1004 @example 939 @example
1005 Emacs*XlwMenu.resourceLabels: True 940 Emacs*XlwMenu.resourceLabels: True
1006 Emacs*XlwMenu.file.labelString: Fichier 941 Emacs*XlwMenu.file.labelString: Fichier
1007 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen 942 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen
1008 @end example 943 @end example
1009 944
1010 The name of the resource is derived from the non-localized entry by 945 The name of the resource is derived from the non-localized entry by
1011 removing punctuation and capitalizing as above. 946 removing punctuation and capitalizing as above.
1012 947
1013 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction 948 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction
1014 @unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs 20.0 949 @unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs
1015 950
1016 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: 951 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
1017 952
1018 @quotation 953 @quotation
1019 Original Mule supports the following input methods: Wnn4, Wnn6, Canna, SJ3 954 Original Mule supports the following input methods: Wnn4, Wnn6, Canna, SJ3
1060 plan is stopped. Perhaps after Mule merged GNU Emacs will be released, 995 plan is stopped. Perhaps after Mule merged GNU Emacs will be released,
1061 it will be continued. 996 it will be continued.
1062 @end quotation 997 @end quotation
1063 998
1064 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction 999 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
1065 @unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs 20? 1000 @unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs?
1066 1001
1067 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: 1002 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
1068 1003
1069 @quotation 1004 @quotation
1070 MULE and XEmacs are quite different. So the application 1005 MULE and XEmacs are quite different. So the application
1097 @lisp 1032 @lisp
1098 (if (featurep 'mule) 1033 (if (featurep 'mule)
1099 (cond ((boundp 'MULE) 1034 (cond ((boundp 'MULE)
1100 ;; for original Mule 1035 ;; for original Mule
1101 ) 1036 )
1102 ((string-match "XEmacs" emacs-version) 1037 ((string-match "XEmacs" emacs-version)
1103 ;; for XEmacs with Mule 1038 ;; for XEmacs with Mule
1104 ) 1039 )
1105 (t 1040 (t
1106 ;; for next version of Emacs 1041 ;; for next version of Emacs
1107 )) 1042 ))
1108 ;; for old emacs variants 1043 ;; for old emacs variants
1109 ) 1044 )
1110 @end lisp 1045 @end lisp
1111 @end quotation 1046 @end quotation
1112 1047
1177 @samp{Basics->Tutorials}, or by typing @kbd{C-h t}. To check whether 1112 @samp{Basics->Tutorials}, or by typing @kbd{C-h t}. To check whether
1178 it's available in a non-english language, type @kbd{C-u C-h t TAB}, type 1113 it's available in a non-english language, type @kbd{C-u C-h t TAB}, type
1179 the first letters of your preferred language, then type @key{RET}. 1114 the first letters of your preferred language, then type @key{RET}.
1180 1115
1181 @comment There's an Emacs Lisp tutorial at 1116 @comment There's an Emacs Lisp tutorial at
1182 @comment 1117 @comment
1183 @comment @example 1118 @comment @example
1184 @comment @uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}. 1119 @comment @uref{ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz}.
1185 @comment @end example 1120 @comment @end example
1186 @comment 1121 @comment
1187 @comment @email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web 1122 @comment @email{erik@@petaxp.rug.ac.be, Erik Sundermann} has made a tutorial web
1188 @comment page at 1123 @comment page at
1189 @comment @iftex 1124 @comment @iftex
1190 @comment @* 1125 @comment @*
1191 @comment @end iftex 1126 @comment @end iftex
1235 (global-set-key "\C-cd" 'double-word) 1170 (global-set-key "\C-cd" 'double-word)
1236 @end lisp 1171 @end lisp
1237 1172
1238 Or interactively, @kbd{M-x global-set-key} and follow the prompts. 1173 Or interactively, @kbd{M-x global-set-key} and follow the prompts.
1239 1174
1240 @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction 1175 @node Q1.4.6, , Q1.4.5, Introduction
1241 @unnumberedsubsec Q1.4.6: What's the difference between a macro and a function? 1176 @unnumberedsubsec Q1.4.6: What's the difference between a macro and a function?
1242 1177
1243 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual: 1178 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual:
1244 1179
1245 @dfn{Macros} enable you to define new control constructs and other 1180 @dfn{Macros} enable you to define new control constructs and other
1254 or parts of them. 1189 or parts of them.
1255 1190
1256 Do not confuse the two terms with @dfn{keyboard macros}, which are 1191 Do not confuse the two terms with @dfn{keyboard macros}, which are
1257 another matter, entirely. A keyboard macro is a key bound to several 1192 another matter, entirely. A keyboard macro is a key bound to several
1258 other keys. Refer to manual for details. 1193 other keys. Refer to manual for details.
1259
1260 @node Q1.4.7, , Q1.4.6, Introduction
1261 @unnumberedsubsec Q1.4.7: How come options saved with 19.13 don't work with 19.14 or later?
1262
1263 There's a problem with options of the form:
1264
1265 @lisp
1266 (add-spec-list-to-specifier (face-property 'searchm-field 'font)
1267 '((global (nil))))
1268 @end lisp
1269
1270 saved by a 19.13 XEmacs that causes a 19.14 XEmacs grief. You must
1271 delete these options. XEmacs 19.14 and later no longer write the
1272 options directly to @file{.emacs} which should allow us to deal with
1273 version incompatibilities better in the future.
1274
1275 Options saved under XEmacs 19.13 are protected by code that specifically
1276 requires a version 19 XEmacs. This won't be a problem unless you're
1277 using XEmacs v20. You should consider changing the code to read:
1278
1279 @lisp
1280 (cond
1281 ((and (string-match "XEmacs" emacs-version)
1282 (boundp 'emacs-major-version)
1283 (or (and (= emacs-major-version 19)
1284 (>= emacs-minor-version 12))
1285 (>= emacs-major-version 20)))
1286 ...
1287 ))
1288 @end lisp
1289 1194
1290 @node Installation, Customization, Introduction, Top 1195 @node Installation, Customization, Introduction, Top
1291 @unnumbered 2 Installation and Trouble Shooting 1196 @unnumbered 2 Installation and Trouble Shooting
1292 1197
1293 This is part 2 of the XEmacs Frequently Asked Questions list. This 1198 This is part 2 of the XEmacs Frequently Asked Questions list. This
1305 * Q2.0.8:: can't resolve symbol _h_errno 1210 * Q2.0.8:: can't resolve symbol _h_errno
1306 * Q2.0.9:: Where do I find external libraries? 1211 * Q2.0.9:: Where do I find external libraries?
1307 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 1212 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
1308 * Q2.0.11:: XEmacs can't resolve host names. 1213 * Q2.0.11:: XEmacs can't resolve host names.
1309 * Q2.0.12:: Why can't I strip XEmacs? 1214 * Q2.0.12:: Why can't I strip XEmacs?
1310 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc.
1311 * Q2.0.14:: Make on HP/UX 9 fails after linking temacs
1312 1215
1313 Trouble Shooting: 1216 Trouble Shooting:
1314 * Q2.1.1:: XEmacs just crashed on me! 1217 * Q2.1.1:: XEmacs just crashed on me!
1315 * Q2.1.2:: Cryptic Minibuffer messages. 1218 * Q2.1.2:: Cryptic Minibuffer messages.
1316 * Q2.1.3:: Translation Table Syntax messages at Startup. 1219 * Q2.1.3:: Translation Table Syntax messages at Startup.
1326 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure 1229 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure
1327 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken? 1230 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken?
1328 * Q2.1.15:: How to debug an XEmacs problem with a debugger. 1231 * Q2.1.15:: How to debug an XEmacs problem with a debugger.
1329 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10. 1232 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10.
1330 * Q2.1.17:: @samp{Marker does not point anywhere}. 1233 * Q2.1.17:: @samp{Marker does not point anywhere}.
1331 * Q2.1.18:: 19.14 hangs on HP/UX 10.10. 1234 * Q2.1.18:: [This question intentionally left blank]
1332 * Q2.1.19:: XEmacs does not follow the local timezone. 1235 * Q2.1.19:: XEmacs does not follow the local timezone.
1333 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 1236 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
1334 * Q2.1.21:: Every so often the XEmacs frame freezes. 1237 * Q2.1.21:: [This question intentionally left blank]
1335 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 1238 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
1336 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later. 1239 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
1240 * Q2.1.24:: XEmacs won't start without network. (NEW)
1337 @end menu 1241 @end menu
1338 1242
1339 @node Q2.0.1, Q2.0.2, Installation, Installation 1243 @node Q2.0.1, Q2.0.2, Installation, Installation
1340 @unnumberedsec 2.0: Installation 1244 @unnumberedsec 2.0: Installation
1341 @unnumberedsubsec Q2.0.1: Running XEmacs without installing 1245 @unnumberedsubsec Q2.0.1: Running XEmacs without installing
1342 The @file{INSTALL} file says that up to 108 MB of space is needed 1246
1343 temporarily during installation! How can I just try it out? 1247 How can I just try XEmacs without installing it?
1344 1248
1345 XEmacs will run in place without requiring installation and copying of 1249 XEmacs will run in place without requiring installation and copying of
1346 the Lisp directories, and without having to specify a special build-time 1250 the Lisp directories, and without having to specify a special build-time
1347 flag. It's the copying of the Lisp directories that requires so much 1251 flag. It's the copying of the Lisp directories that requires so much
1348 space. XEmacs is largely written in Lisp. 1252 space. XEmacs is largely written in Lisp.
1359 This will let you run XEmacs without massive copying. 1263 This will let you run XEmacs without massive copying.
1360 1264
1361 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation 1265 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
1362 @unnumberedsubsec Q2.0.2: XEmacs is too big 1266 @unnumberedsubsec Q2.0.2: XEmacs is too big
1363 1267
1364 Although this entry has been written for XEmacs 19.13, most of it still 1268 The space required by the installation directories can be
1365 stands true.
1366
1367 @email{steve@@xemacs.org, Steve Baur} writes:
1368
1369 @quotation
1370 The 45MB of space required by the installation directories can be
1371 reduced dramatically if desired. Gzip all the .el files. Remove all 1269 reduced dramatically if desired. Gzip all the .el files. Remove all
1372 the packages you'll never want to use (or even ones you do like the two 1270 the packages you'll never want to use. Remove the TexInfo manuals.
1373 obsolete mailcrypts and Gnus 4 in 19.13). Remove the TexInfo manuals.
1374 Remove the Info (and use just hardcopy versions of the manual). Remove 1271 Remove the Info (and use just hardcopy versions of the manual). Remove
1375 most of the stuff in etc. Remove or gzip all the source code. Gzip or 1272 most of the stuff in etc. Remove or gzip all the source code. Gzip or
1376 remove the C source code. Configure it so that copies are not made of 1273 remove the C source code. Configure it so that copies are not made of
1377 the support lisp. I'm not advocating any of these things, just pointing 1274 the support lisp.
1378 out ways to reduce the disk requirements if desired.
1379
1380 Now examine the space used by directory:
1381
1382 @format
1383 0 /usr/local/bin/xemacs
1384 2048 /usr/local/bin/xemacs-19.13
1385
1386 1546 /usr/local/lib/xemacs-19.13/i486-miranova-sco3.2v4.2
1387 1158 /usr/local/lib/xemacs-19.13/i486-unknown-linux1.2.13
1388 @end format
1389
1390 You need to keep these. XEmacs isn't stripped by default in
1391 installation, you should consider stripping. That will save you about
1392 5MB right there.
1393
1394 @format
1395 207 /usr/local/lib/xemacs-19.13/etc/w3
1396 122 /usr/local/lib/xemacs-19.13/etc/sounds
1397 18 /usr/local/lib/xemacs-19.13/etc/sparcworks
1398 159 /usr/local/lib/xemacs-19.13/etc/vm
1399 6 /usr/local/lib/xemacs-19.13/etc/e
1400 21 /usr/local/lib/xemacs-19.13/etc/eos
1401 172 /usr/local/lib/xemacs-19.13/etc/toolbar
1402 61 /usr/local/lib/xemacs-19.13/etc/ns
1403 43 /usr/local/lib/xemacs-19.13/etc/gnus
1404 @end format
1405
1406 These are support directories for various packages. In general they
1407 match a directory under ./xemacs-19.13/lib/xemacs-19.13/lisp/. If you
1408 do not require the package, you may delete or gzip the support too.
1409
1410 @format
1411 1959 /usr/local/lib/xemacs-19.13/etc
1412 175 /usr/local/lib/xemacs-19.13/lisp/bytecomp
1413 340 /usr/local/lib/xemacs-19.13/lisp/calendar
1414 342 /usr/local/lib/xemacs-19.13/lisp/comint
1415 517 /usr/local/lib/xemacs-19.13/lisp/dired
1416 42 /usr/local/lib/xemacs-19.13/lisp/electric
1417 212 /usr/local/lib/xemacs-19.13/lisp/emulators
1418 238 /usr/local/lib/xemacs-19.13/lisp/energize
1419 289 /usr/local/lib/xemacs-19.13/lisp/gnus
1420 457 /usr/local/lib/xemacs-19.13/lisp/ilisp
1421 1439 /usr/local/lib/xemacs-19.13/lisp/modes
1422 2276 /usr/local/lib/xemacs-19.13/lisp/packages
1423 1040 /usr/local/lib/xemacs-19.13/lisp/prim
1424 176 /usr/local/lib/xemacs-19.13/lisp/pcl-cvs
1425 154 /usr/local/lib/xemacs-19.13/lisp/rmail
1426 3 /usr/local/lib/xemacs-19.13/lisp/epoch
1427 45 /usr/local/lib/xemacs-19.13/lisp/term
1428 860 /usr/local/lib/xemacs-19.13/lisp/utils
1429 851 /usr/local/lib/xemacs-19.13/lisp/vm
1430 13 /usr/local/lib/xemacs-19.13/lisp/vms
1431 157 /usr/local/lib/xemacs-19.13/lisp/x11
1432 19 /usr/local/lib/xemacs-19.13/lisp/tooltalk
1433 14 /usr/local/lib/xemacs-19.13/lisp/sunpro
1434 291 /usr/local/lib/xemacs-19.13/lisp/games
1435 198 /usr/local/lib/xemacs-19.13/lisp/edebug
1436 619 /usr/local/lib/xemacs-19.13/lisp/w3
1437 229 /usr/local/lib/xemacs-19.13/lisp/eos
1438 55 /usr/local/lib/xemacs-19.13/lisp/iso
1439 59 /usr/local/lib/xemacs-19.13/lisp/mailcrypt
1440 187 /usr/local/lib/xemacs-19.13/lisp/eterm
1441 356 /usr/local/lib/xemacs-19.13/lisp/ediff
1442 408 /usr/local/lib/xemacs-19.13/lisp/hyperbole/kotl
1443 1262 /usr/local/lib/xemacs-19.13/lisp/hyperbole
1444 247 /usr/local/lib/xemacs-19.13/lisp/hm--html-menus
1445 161 /usr/local/lib/xemacs-19.13/lisp/mh-e
1446 299 /usr/local/lib/xemacs-19.13/lisp/viper
1447 53 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-x
1448 4 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/DocWindow.nib
1449 3 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/InfoPanel.nib
1450 3 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj/TreeView.nib
1451 11 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx/English.lproj
1452 53 /usr/local/lib/xemacs-19.13/lisp/oobr/tree-nx
1453 466 /usr/local/lib/xemacs-19.13/lisp/oobr
1454 14142 /usr/local/lib/xemacs-19.13/lisp
1455 @end format
1456 1275
1457 These are all Emacs Lisp source code and bytecompiled object code. You 1276 These are all Emacs Lisp source code and bytecompiled object code. You
1458 may safely gzip everything named *.el here. You may remove any package 1277 may safely gzip everything named *.el here. You may remove any package
1459 you don't use. @emph{Nothing bad will happen if you delete a package 1278 you don't use. @emph{Nothing bad will happen if you delete a package
1460 that you do not use}. You must be sure you do not use it though, so be 1279 that you do not use}. You must be sure you do not use it though, so be
1461 conservative at first. 1280 conservative at first.
1462 1281
1463 Possible candidates for deletion include w3 (newer versions exist, or 1282 Possible candidates for deletion include w3, games, hyperbole, mh-e,
1464 you may just use Lynx or Netscape for web browsing), games, hyperbole, 1283 hm-html-menus, vm, viper, oobr, gnus, etc. Ask yourself, @emph{Do I
1465 mh-e, hm--html-menus (better packages exist), vm, viper, oobr, gnus (new 1284 ever want to use this package?} If the answer is no, then it is a
1466 versions exist), etc. Ask yourself, @emph{Do I ever want to use this 1285 candidate for removal.
1467 package?} If the answer is no, then it is a candidate for removal.
1468 1286
1469 First, gzip all the .el files. Then go about package by package and 1287 First, gzip all the .el files. Then go about package by package and
1470 start gzipping the .elc files. Then run XEmacs and do whatever it is 1288 start gzipping the .elc files. Then run XEmacs and do whatever it is
1471 you normally do. If nothing bad happens, then delete the directory. Be 1289 you normally do. If nothing bad happens, then delete the directory. Be
1472 conservative about deleting directories, and it would be handy to have a 1290 conservative about deleting directories, and it would be handy to have a
1473 backup tape around in case you get too zealous. 1291 backup around in case you get too zealous.
1474 1292
1475 @file{prim}, @file{modes}, @file{packages}, and @file{utils} are four 1293 @file{prim}, @file{modes}, @file{packages}, and @file{utils} are four
1476 directories you definitely do @strong{not} want to delete, although 1294 directories you definitely do @strong{not} want to delete, although
1477 certain packages can be removed from them if you do not use them. 1295 certain packages can be removed from them if you do not use them.
1478 1296
1479 @example 1297 Online texinfo sources in the @file{info} can either be compressed them
1480 1972 /usr/local/lib/xemacs-19.13/info 1298 or remove them. In either case, @kbd{C-h i} (info mode) will no longer
1481 @end example 1299 work.
1482
1483 These are online texinfo sources. You may either gzip them or remove
1484 them. In either case, @kbd{C-h i} (info mode) will no longer work.
1485
1486 @example
1487 20778 /usr/local/lib/xemacs-19.13
1488 @end example
1489
1490 The 20MB achieved is less than half of what the full distribution takes up,
1491 @strong{and} can be achieved without deleting a single file.
1492 @end quotation
1493
1494 @email{boffi@@hp735.stru.polimi.it, Giacomo Boffi} provides this procedure:
1495
1496 @quotation
1497 Substitute @file{/usr/local/lib/} with the path where the xemacs tree is
1498 rooted, then use this script:
1499
1500 @example
1501 #!/bin/sh
1502
1503 r=/usr/local/lib/xemacs-19.13/lisp
1504
1505 cd $r ; rm -f cmpr ; touch cmpr
1506
1507 du -s .
1508
1509 for d in * ; do
1510 if test -d $d ; then
1511 cd $d
1512 for f in *.el ; do
1513 # compress (remove) only (ONLY) the sources that have a
1514 # corresponding compiled file --- do not (DO NOT)
1515 # touch other sources
1516 if test -f $@{f@}c ; then gzip -v9 $f >> $r/cmpr ; fi
1517 done
1518 cd ..
1519 fi
1520 done
1521
1522 du -s .
1523 @end example
1524
1525 A step beyond would be substituting @samp{rm -f} for @samp{gzip -v9},
1526 but you have to be desperate for removing the sources (remember that
1527 emacs can access compressed files transparently).
1528
1529 Also, a good megabyte could easily be trimmed from the $r/../etc
1530 directory, e.g., the termcap files, some O+NEWS, others that I don't
1531 remember as well.
1532 @end quotation
1533
1534 @quotation
1535 XEmacs 21.0 will unbundle the lisp hierarchy and allow the installer
1536 to choose exactly how much support code gets installed.
1537 @end quotation
1538 1300
1539 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation 1301 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
1540 @unnumberedsubsec Q2.0.3: Compiling XEmacs with Netaudio. 1302 @unnumberedsubsec Q2.0.3: Compiling XEmacs with Netaudio.
1541 1303
1542 What is the best way to compile XEmacs with the netaudio system, since I 1304 What is the best way to compile XEmacs with the netaudio system, since I
1589 1351
1590 @node Q2.0.5, Q2.0.6, Q2.0.4, Installation 1352 @node Q2.0.5, Q2.0.6, Q2.0.4, Installation
1591 @unnumberedsubsec Q2.0.5: Do I need X11 to run XEmacs? 1353 @unnumberedsubsec Q2.0.5: Do I need X11 to run XEmacs?
1592 1354
1593 No. The name @dfn{XEmacs} is unfortunate in the sense that it is 1355 No. The name @dfn{XEmacs} is unfortunate in the sense that it is
1594 @strong{not} an X Window System-only version of Emacs. Starting with 1356 @strong{not} an X Window System-only version of Emacs. XEmacs has
1595 19.14 XEmacs has full color support on a color-capable character 1357 full color support on a color-capable character terminal.
1596 terminal.
1597 1358
1598 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation 1359 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation
1599 @unnumberedsubsec Q2.0.6: I'm having strange crashes. What do I do? 1360 @unnumberedsubsec Q2.0.6: I'm having strange crashes. What do I do?
1600 1361
1601 There have been a variety of reports of crashes due to compilers with 1362 There have been a variety of reports of crashes due to compilers with
1632 @end iftex 1393 @end iftex
1633 @samp{h_errno^@@^@@}. Any version of Emacs will 1394 @samp{h_errno^@@^@@}. Any version of Emacs will
1634 suffice. If you don't understand how to do this, don't do it. 1395 suffice. If you don't understand how to do this, don't do it.
1635 1396
1636 @item 1397 @item
1637 Rebuild XEmacs yourself -- any working ELF version of libc should be 1398 Rebuild XEmacs yourself---any working ELF version of libc should be
1638 O.K. 1399 O.K.
1639 @end enumerate 1400 @end enumerate
1640 1401
1641 @email{hniksic@@xemacs.org, Hrvoje Niksic} writes: 1402 @email{hniksic@@xemacs.org, Hrvoje Niksic} writes:
1642 1403
1757 The best solution is to compile it yourself; the configure script will 1518 The best solution is to compile it yourself; the configure script will
1758 check to see if you've put DNS in the shared libc and will then proceed 1519 check to see if you've put DNS in the shared libc and will then proceed
1759 to link against the DNS resolver library code. 1520 to link against the DNS resolver library code.
1760 @end quotation 1521 @end quotation
1761 1522
1762 @node Q2.0.12, Q2.0.13, Q2.0.11, Installation 1523 @node Q2.0.12, Q2.1.1, Q2.0.11, Installation
1763 @unnumberedsubsec Q2.0.12: Why can't I strip XEmacs? 1524 @unnumberedsubsec Q2.0.12: Why can't I strip XEmacs?
1764 1525
1765 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes: 1526 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes:
1766 1527
1767 @quotation 1528 @quotation
1812 @end iftex 1573 @end iftex
1813 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout 1574 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
1814 @end enumerate 1575 @end enumerate
1815 @end quotation 1576 @end quotation
1816 1577
1817 @node Q2.0.13, Q2.0.14, Q2.0.12, Installation 1578 @node Q2.1.1, Q2.1.2, Q2.0.12, Installation
1818 @unnumberedsubsec Q2.0.13: Problems linking with Gcc on Solaris
1819
1820 There are known difficulties linking with Gnu ld on Solaris. A typical
1821 error message might look like:
1822
1823 @example
1824 unexec(): dlopen(../dynodump/dynodump.so): ld.so.1: ./temacs:
1825 fatal: relocation error:
1826 symbol not found: main: referenced in ../dynodump/dynodump.so
1827 @end example
1828
1829 @email{martin@@xemacs.org, Martin Buchholz} writes:
1830
1831 @quotation
1832 You need to specify @samp{-fno-gnu-linker} as part of your flags to pass
1833 to ld. Future releases of XEmacs will try to do this automatically.
1834 @end quotation
1835
1836 @node Q2.0.14, Q2.1.1, Q2.0.13, Installation
1837 @unnumberedsubsec Q2.0.14: Make on HP/UX 9 fails after linking temacs
1838
1839 Problem when building xemacs-19.16 on hpux 9:
1840
1841 @email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes:
1842
1843 @quotation
1844 make on hpux fails after linking temacs with a message:
1845
1846 @example
1847 "make: don't know how to make .y."
1848 @end example
1849
1850 Solution: This is a problem with HP make revision 70.X. Either use GNU
1851 make, or install PHCO_6552, which will bring make to revision
1852 72.24.1.17.
1853 @end quotation
1854
1855
1856 @node Q2.1.1, Q2.1.2, Q2.0.14, Installation
1857 @unnumberedsec 2.1: Trouble Shooting 1579 @unnumberedsec 2.1: Trouble Shooting
1858 @unnumberedsubsec Q2.1.1: Help! XEmacs just crashed on me! 1580 @unnumberedsubsec Q2.1.1: Help! XEmacs just crashed on me!
1859 1581
1860 First of all, don't panic. Whenever XEmacs crashes, it tries extremely 1582 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
1861 hard to auto-save all of your files before dying. (The main time that 1583 hard to auto-save all of your files before dying. (The main time that
2068 I think this is due to undefined resources; You need to define color 1790 I think this is due to undefined resources; You need to define color
2069 backgrounds and foregrounds into your @file{.../app-defaults/Emacs} 1791 backgrounds and foregrounds into your @file{.../app-defaults/Emacs}
2070 like: 1792 like:
2071 1793
2072 @example 1794 @example
2073 *Foreground: Black ;everything will be of black on grey95, 1795 *Foreground: Black ;everything will be of black on grey95,
2074 *Background: Grey95 ;unless otherwise specified. 1796 *Background: Grey95 ;unless otherwise specified.
2075 *cursorColor: Red3 ;red3 cursor with grey95 border. 1797 *cursorColor: Red3 ;red3 cursor with grey95 border.
2076 *pointerColor: Red3 ;red3 pointer with grey95 border. 1798 *pointerColor: Red3 ;red3 pointer with grey95 border.
2077 @end example 1799 @end example
2078 @end quotation 1800 @end quotation
2079 1801
2080 Natalie Kershaw adds: 1802 Natalie Kershaw adds:
2081 1803
2315 disadvantages - it can only be used with a running xemacs process, and 2037 disadvantages - it can only be used with a running xemacs process, and
2316 it cannot display the internal C structure of a Lisp Object. Even if 2038 it cannot display the internal C structure of a Lisp Object. Even if
2317 all you've got is a core dump, all is not lost. 2039 all you've got is a core dump, all is not lost.
2318 2040
2319 If you're using GDB, there are some macros in the file 2041 If you're using GDB, there are some macros in the file
2320 @file{src/gdbinit} in the XEmacs source distribution that should make it 2042 @file{src/.gdbinit} in the XEmacs source distribution that should make
2321 easier for you to decode Lisp objects. Copy this file to 2043 it easier for you to decode Lisp objects. This file is automatically
2322 @file{~/.gdbinit}, or @code{source} it from @file{~/.gdbinit}, and use 2044 read by gdb if gdb is run in the directory where xemacs was built, and
2323 the macros defined therein. In particular, use the @code{pobj} macro to 2045 contains these useful macros to inspect the state of xemacs:
2324 print the internal C representation of a lisp object. This will work 2046
2325 with a core file or not-yet-run executable. The aliases @code{ldp} and 2047 @table @code
2326 @code{lbt} are provided for conveniently calling @code{debug_print} and 2048 @item pobj
2327 @code{debug_backtrace}. 2049 Usage: pobj lisp_object @*
2050 Print the internal C representation of a lisp object.
2051
2052 @item xtype
2053 Usage: xtype lisp_object @*
2054 Print the Lisp type of a lisp object.
2055
2056 @item lbt
2057 Usage: lbt @*
2058 Print the current Lisp stack trace.
2059 Requires a running xemacs process.
2060
2061 @item ldp
2062 Usage: ldp lisp_object @*
2063 Print a Lisp Object value using the Lisp printer.
2064 Requires a running xemacs process.
2065
2066 @item run-temacs
2067 Usage: run-temacs @*
2068 Run temacs interactively, like xemacs.
2069 Use this with debugging tools (like purify) that cannot deal with dumping,
2070 or when temacs builds successfully, but xemacs does not.
2071
2072 @item dump-temacs
2073 Usage: dump-temacs @*
2074 Run the dumping part of the build procedure.
2075 Use when debugging temacs, not xemacs!
2076 Use this when temacs builds successfully, but xemacs does not.
2077
2078 @item check-xemacs
2079 Usage: check-xemacs @*
2080 Run the test suite. Equivalent to 'make check'.
2081
2082 @item check-temacs
2083 Usage: check-temacs @*
2084 Run the test suite on temacs. Equivalent to 'make check-temacs'.
2085 Use this with debugging tools (like purify) that cannot deal with dumping,
2086 or when temacs builds successfully, but xemacs does not.
2087 @end table
2328 2088
2329 If you are using Sun's @file{dbx} debugger, there is an equivalent file 2089 If you are using Sun's @file{dbx} debugger, there is an equivalent file
2330 @file{src/dbxrc} to copy to or source from @file{~/.dbxrc}. 2090 @file{src/.dbxrc}, which defines the same commands for dbx.
2331 2091
2332 @item 2092 @item
2333 If you're using a debugger to get a C stack backtrace and you're seeing 2093 If you're using a debugger to get a C stack backtrace and you're seeing
2334 stack traces with some of the innermost frames mangled, it may be due to 2094 stack traces with some of the innermost frames mangled, it may be due to
2335 dynamic linking. (This happens especially under Linux.) Consider 2095 dynamic linking. (This happens especially under Linux.) Consider
2376 2136
2377 @end enumerate 2137 @end enumerate
2378 2138
2379 @item 2139 @item
2380 If you compile with the newer gcc variants gcc-2.8 or egcs, you will 2140 If you compile with the newer gcc variants gcc-2.8 or egcs, you will
2381 also need gdb 4.17. Earlier releases of gdb can't handle the debug 2141 also need gdb 4.17 or above. Earlier releases of gdb can't handle the
2382 information generated by the newer compilers. 2142 debug information generated by the newer compilers.
2383 2143
2384 @item 2144 @item
2385 The above information on using @file{src/gdbinit} works for XEmacs-21.0 2145 In versions of XEmacs before 21.2.27, @file{src/.gdbinit} was named
2386 and above. For older versions of XEmacs, there are different 2146 @file{src/gdbinit}. This had the disadvantage of not being sourced
2387 @file{gdbinit} files provided in the @file{src} directory. Use the one 2147 automatically by gdb, so you had to set that up yourself.
2388 corresponding to the configure options used when building XEmacs.
2389 2148
2390 @end itemize 2149 @end itemize
2391 2150
2392 @node Q2.1.16, Q2.1.17, Q2.1.15, Installation 2151 @node Q2.1.16, Q2.1.17, Q2.1.15, Installation
2393 @unnumberedsubsec Q2.1.16: XEmacs crashes in @code{strcat} on HP/UX 10 2152 @unnumberedsubsec Q2.1.16: XEmacs crashes in @code{strcat} on HP/UX 10
2429 A problem with some early versions of Gnus 5.4 caused this error. 2188 A problem with some early versions of Gnus 5.4 caused this error.
2430 Upgrade your Gnus. 2189 Upgrade your Gnus.
2431 @end enumerate 2190 @end enumerate
2432 2191
2433 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation 2192 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation
2434 @unnumberedsubsec Q2.1.18: 19.14 hangs on HP/UX 10.10. 2193 @unnumberedsubsec Q2.1.18: removed
2435
2436 @email{cognot@@ensg.u-nancy.fr, Richard Cognot} writes:
2437
2438 @quotation
2439 For the record, compiling on hpux 10.10 leads to a hang in Gnus when
2440 compiled with optimization on.
2441
2442 I've just discovered that my hpux 10.01 binary was working less well
2443 than expected. In fact, on a 10.10 system, @code{(while t)} was not
2444 interrupted by @kbd{C-g}. I defined @code{BROKEN_SIGIO} and recompiled on
2445 10.10, and... the hang is now gone.
2446
2447 As far as configure goes, this will be a bit tricky: @code{BROKEN_SIGIO}
2448 is needed on 10.10, but @strong{not} on 10.01: if I run my 10.01 binary
2449 on a 10.01 machine, without @code{BROKEN_SIGIO} being defined, @kbd{C-g}
2450 works as expected.
2451 @end quotation
2452
2453 @email{cognot@@ensg.u-nancy.fr, Richard Cognot} adds:
2454
2455 @quotation
2456 Apparently somebody has found the reason why there is this
2457 @iftex
2458 @*
2459 @end iftex
2460 @samp{poll:
2461 interrupted...} message for each event. For some reason, libcurses
2462 reimplements a @code{select()} system call, in a highly broken fashion.
2463 The fix is to add a -lc to the link line @emph{before} the
2464 -lxcurses. XEmacs will then use the right version of @code{select()}.
2465 @end quotation
2466
2467
2468 @email{af@@biomath.jussieu.fr, Alain Fauconnet} writes:
2469
2470 @quotation
2471 The @emph{real} solution is to @emph{not} link -lcurses in! I just
2472 changed -lcurses to -ltermcap in the Makefile and it fixed:
2473
2474 @enumerate
2475 @item
2476 The @samp{poll: interrupted system call} message.
2477
2478 @item
2479 A more serious problem I had discovered in the meantime, that is the
2480 fact that subprocess handling was seriously broken: subprocesses
2481 e.g. started by AUC TeX for TeX compilation of a buffer would
2482 @emph{hang}. Actually they would wait forever for emacs to read the
2483 socket which connects stdout...
2484 @end enumerate
2485 @end quotation
2486 2194
2487 @node Q2.1.19, Q2.1.20, Q2.1.18, Installation 2195 @node Q2.1.19, Q2.1.20, Q2.1.18, Installation
2488 @unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone. 2196 @unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone.
2489 2197
2490 When using one of the prebuilt binaries many users have observed that 2198 When using one of the prebuilt binaries many users have observed that
2508 @end lisp 2216 @end lisp
2509 2217
2510 where you load hyperbole and the problem should go away. 2218 where you load hyperbole and the problem should go away.
2511 2219
2512 @node Q2.1.21, Q2.1.22, Q2.1.20, Installation 2220 @node Q2.1.21, Q2.1.22, Q2.1.20, Installation
2513 @unnumberedsubsec Q2.1.21: Every so often the XEmacs frame freezes 2221 @unnumberedsubsec Q2.1.21: [This question intentionally left blank]
2514
2515 This problem has been fixed in 19.15, and was due to a not easily
2516 reproducible race condition.
2517 2222
2518 @node Q2.1.22, Q2.1.23, Q2.1.21, Installation 2223 @node Q2.1.22, Q2.1.23, Q2.1.21, Installation
2519 @unnumberedsubsec Q2.1.22: XEmacs seems to take a really long time to do some things 2224 @unnumberedsubsec Q2.1.22: XEmacs seems to take a really long time to do some things
2520 2225
2521 @email{dmoore@@ucsd.edu, David Moore} writes: 2226 @email{dmoore@@ucsd.edu, David Moore} writes:
2548 2253
2549 debug-on-quit doesn't work if something's turned on inhibit-quit or in 2254 debug-on-quit doesn't work if something's turned on inhibit-quit or in
2550 some other strange cases. 2255 some other strange cases.
2551 @end quotation 2256 @end quotation
2552 2257
2553 @node Q2.1.23, , Q2.1.22, Installation 2258 @node Q2.1.23, Q2.1.24, Q2.1.22, Installation
2554 @unnumberedsubsec Q2.1.23: Movemail on Linux does not work for XEmacs 19.15 and later. 2259 @unnumberedsubsec Q2.1.23: Movemail on Linux does not work for XEmacs 19.15 and later.
2555 2260
2556 Movemail used to work fine in 19.14 but has stopped working in 19.15 2261 Movemail used to work fine in 19.14 but has stopped working in 19.15
2557 and 20.x. I am using Linux. 2262 and 20.x. I am using Linux.
2558 2263
2566 2271
2567 @example 2272 @example
2568 #define MAIL_USE_FLOCK 2273 #define MAIL_USE_FLOCK
2569 @end example 2274 @end example
2570 @end quotation 2275 @end quotation
2276
2277 @node Q2.1.24, , Q2.1.23, Installation
2278 @unnumberedsubsec Q2.1.24: XEmacs won't start without network. (NEW)
2279
2280 If XEmacs starts when you're on the network, but fails when you're not
2281 on the network, you may be missing a "localhost" entry in your
2282 @file{/etc/hosts} file. The file should contain an entry like:
2283
2284 @example
2285 127.0.0.1 localhost
2286 @end example
2287
2288 Add that line, and XEmacs will be happy.
2571 2289
2572 @node Customization, Subsystems, Installation, Top 2290 @node Customization, Subsystems, Installation, Top
2573 @unnumbered 3 Customization and Options 2291 @unnumbered 3 Customization and Options
2574 2292
2575 This is part 3 of the XEmacs Frequently Asked Questions list. This 2293 This is part 3 of the XEmacs Frequently Asked Questions list. This
2588 * Q3.0.9:: What is @code{Customize}? 2306 * Q3.0.9:: What is @code{Customize}?
2589 2307
2590 X Window System & Resources: 2308 X Window System & Resources:
2591 * Q3.1.1:: Where is a list of X resources? 2309 * Q3.1.1:: Where is a list of X resources?
2592 * Q3.1.2:: How can I detect a color display? 2310 * Q3.1.2:: How can I detect a color display?
2593 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13? 2311 * Q3.1.3:: [This question intentionally left blank]
2594 * Q3.1.4:: Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? 2312 * Q3.1.4:: [This question intentionally left blank]
2595 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? 2313 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}?
2596 * Q3.1.6:: How can I have the window title area display the full path? 2314 * Q3.1.6:: How can I have the window title area display the full path?
2597 * Q3.1.7:: @samp{xemacs -name junk} doesn't work? 2315 * Q3.1.7:: @samp{xemacs -name junk} doesn't work?
2598 * Q3.1.8:: @samp{-iconic} doesn't work. 2316 * Q3.1.8:: @samp{-iconic} doesn't work.
2599 2317
2802 (setq initial-frame-plist '(minibuffer nil)) 2520 (setq initial-frame-plist '(minibuffer nil))
2803 (setq default-frame-plist '(minibuffer nil)) 2521 (setq default-frame-plist '(minibuffer nil))
2804 (setq default-minibuffer-frame 2522 (setq default-minibuffer-frame
2805 (make-frame 2523 (make-frame
2806 '(minibuffer only 2524 '(minibuffer only
2807 width 86 2525 width 86
2808 height 1 2526 height 1
2809 menubar-visible-p nil 2527 menubar-visible-p nil
2810 default-toolbar-visible-p nil 2528 default-toolbar-visible-p nil
2811 name "minibuffer" 2529 name "minibuffer"
2812 top -2 2530 top -2
2813 left -2 2531 left -2
2814 has-modeline-p nil))) 2532 has-modeline-p nil)))
2815 (frame-notice-user-settings) 2533 (frame-notice-user-settings)
2816 @end lisp 2534 @end lisp
2817 2535
2818 @strong{Please note:} The single minibuffer frame may not be to everyone's 2536 @strong{Please note:} The single minibuffer frame may not be to everyone's
2819 taste, and there any number of other XEmacs options settings that may 2537 taste, and there any number of other XEmacs options settings that may
2861 .... 2579 ....
2862 ) 2580 )
2863 @end lisp 2581 @end lisp
2864 2582
2865 @node Q3.1.3, Q3.1.4, Q3.1.2, Customization 2583 @node Q3.1.3, Q3.1.4, Q3.1.2, Customization
2866 @unnumberedsubsec Q3.1.3: @code{(set-screen-width)} worked in 19.6, but not in 19.13? 2584 @unnumberedsubsec Q3.1.3: [This question intentionally left blank]
2867
2868 In Lucid Emacs 19.6 I did @code{(set-screen-width @var{characters})} and
2869 @code{(set-screen-height @var{lines})} in my @file{.emacs} instead of
2870 specifying @code{Emacs*EmacsScreen.geometry} in my
2871 @iftex
2872 @*
2873 @end iftex
2874 @file{.Xdefaults} but
2875 this does not work in XEmacs 19.13.
2876
2877 These two functions now take frame arguments:
2878
2879 @lisp
2880 (set-frame-width (selected-frame) @var{characters})
2881 (set-frame-height (selected-frame) @var{lines})
2882 @end lisp
2883 2585
2884 @node Q3.1.4, Q3.1.5, Q3.1.3, Customization 2586 @node Q3.1.4, Q3.1.5, Q3.1.3, Customization
2885 @unnumberedsubsec Q3.1.4: Specifying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? 2587 @unnumberedsubsec Q3.1.4: [This question intentionally left blank]
2886
2887 In XEmacs 19.11 I specified @code{Emacs*EmacsScreen.geometry} in
2888 my @file{.emacs} but this does not work in XEmacs 19.15.
2889
2890 We have switched from using the term @dfn{screen} to using the term
2891 @dfn{frame}.
2892
2893 The correct entry for your @file{.Xdefaults} is now:
2894
2895 @example
2896 Emacs*EmacsFrame.geometry
2897 @end example
2898 2588
2899 @node Q3.1.5, Q3.1.6, Q3.1.4, Customization 2589 @node Q3.1.5, Q3.1.6, Q3.1.4, Customization
2900 @unnumberedsubsec Q3.1.5: How can I get the icon to just say @samp{XEmacs}? 2590 @unnumberedsubsec Q3.1.5: How can I get the icon to just say @samp{XEmacs}?
2901 2591
2902 I'd like the icon to just say @samp{XEmacs}, and not include the name of 2592 I'd like the icon to just say @samp{XEmacs}, and not include the name of
2923 A more sophisticated title might be: 2613 A more sophisticated title might be:
2924 2614
2925 @lisp 2615 @lisp
2926 (setq frame-title-format 2616 (setq frame-title-format
2927 '("%S: " (buffer-file-name "%f" 2617 '("%S: " (buffer-file-name "%f"
2928 (dired-directory dired-directory "%b")))) 2618 (dired-directory dired-directory "%b"))))
2929 @end lisp 2619 @end lisp
2930 2620
2931 That is, use the file name, or the dired-directory, or the buffer name. 2621 That is, use the file name, or the dired-directory, or the buffer name.
2932 2622
2933 @node Q3.1.7, Q3.1.8, Q3.1.6, Customization 2623 @node Q3.1.7, Q3.1.8, Q3.1.6, Customization
3007 2697
3008 @lisp 2698 @lisp
3009 (set-face-background 'default "bisque") ; frame background 2699 (set-face-background 'default "bisque") ; frame background
3010 (set-face-foreground 'default "black") ; normal text 2700 (set-face-foreground 'default "black") ; normal text
3011 (set-face-background 'zmacs-region "red") ; When selecting w/ 2701 (set-face-background 'zmacs-region "red") ; When selecting w/
3012 ; mouse 2702 ; mouse
3013 (set-face-foreground 'zmacs-region "yellow") 2703 (set-face-foreground 'zmacs-region "yellow")
3014 (set-face-font 'default "*courier-bold-r*120-100-100*") 2704 (set-face-font 'default "*courier-bold-r*120-100-100*")
3015 (set-face-background 'highlight "blue") ; Ie when selecting 2705 (set-face-background 'highlight "blue") ; Ie when selecting
3016 ; buffers 2706 ; buffers
3017 (set-face-foreground 'highlight "yellow") 2707 (set-face-foreground 'highlight "yellow")
3018 (set-face-background 'modeline "blue") ; Line at bottom 2708 (set-face-background 'modeline "blue") ; Line at bottom
3019 ; of buffer 2709 ; of buffer
3020 (set-face-foreground 'modeline "white") 2710 (set-face-foreground 'modeline "white")
3021 (set-face-font 'modeline "*bold-r-normal*140-100-100*") 2711 (set-face-font 'modeline "*bold-r-normal*140-100-100*")
3022 (set-face-background 'isearch "yellow") ; When highlighting 2712 (set-face-background 'isearch "yellow") ; When highlighting
3023 ; while searching 2713 ; while searching
3024 (set-face-foreground 'isearch "red") 2714 (set-face-foreground 'isearch "red")
3025 (setq x-pointer-foreground-color "black") ; Adds to bg color, 2715 (setq x-pointer-foreground-color "black") ; Adds to bg color,
3026 ; so keep black 2716 ; so keep black
3027 (setq x-pointer-background-color "blue") ; This is color 2717 (setq x-pointer-background-color "blue") ; This is color
3028 ; you really 2718 ; you really
3029 ; want ptr/crsr 2719 ; want ptr/crsr
3030 @end lisp 2720 @end lisp
3031 2721
3032 @node Q3.2.2, Q3.2.3, Q3.2.1, Customization 2722 @node Q3.2.2, Q3.2.3, Q3.2.1, Customization
3033 @unnumberedsubsec Q3.2.2: How do I set the text, menu and modeline fonts? 2723 @unnumberedsubsec Q3.2.2: How do I set the text, menu and modeline fonts?
3034 2724
3129 2819
3130 and so on. You can also do this interactively via @kbd{M-x edit-faces}. 2820 and so on. You can also do this interactively via @kbd{M-x edit-faces}.
3131 2821
3132 @end quotation 2822 @end quotation
3133 2823
2824 @node Q3.3.1, Q3.3.2, Q3.2.6, Customization
3134 @unnumberedsec 3.3: The Modeline 2825 @unnumberedsec 3.3: The Modeline
3135 @node Q3.3.1, Q3.3.2, Q3.2.6, Customization
3136 @unnumberedsubsec Q3.3.1: How can I make the modeline go away? 2826 @unnumberedsubsec Q3.3.1: How can I make the modeline go away?
3137 2827
3138 @lisp 2828 @lisp
3139 (set-specifier has-modeline-p nil) 2829 (set-specifier has-modeline-p nil)
3140 @end lisp 2830 @end lisp
3200 Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX 2890 Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
3201 mode: 2891 mode:
3202 2892
3203 @lisp 2893 @lisp
3204 (add-hook 'TeX-mode-hook 2894 (add-hook 'TeX-mode-hook
3205 '(lambda () (setq fume-display-in-modeline-p nil))) 2895 '(lambda () (setq fume-display-in-modeline-p nil)))
3206 @end lisp 2896 @end lisp
3207 2897
3208 @email{dhughes@@origin-at.co.uk, David Hughes} writes: 2898 @email{dhughes@@origin-at.co.uk, David Hughes} writes:
3209 2899
3210 @quotation 2900 @quotation
3315 For the FAQ example you could use: 3005 For the FAQ example you could use:
3316 3006
3317 @lisp 3007 @lisp
3318 (global-set-key [(control ?.)] 3008 (global-set-key [(control ?.)]
3319 (lambda () (interactive) (scroll-up 1))) 3009 (lambda () (interactive) (scroll-up 1)))
3320 (global-set-key [(control ? ;)] 3010 (global-set-key [(control ?;)]
3321 (lambda () (interactive) (scroll-up -1))) 3011 (lambda () (interactive) (scroll-up -1)))
3322 @end lisp 3012 @end lisp
3323 3013
3324 This is fine if you only need a few functions within the lambda body. 3014 This is fine if you only need a few functions within the lambda body.
3325 If you're doing more it's cleaner to define a separate function as in 3015 If you're doing more it's cleaner to define a separate function as in
3326 question 3.5.3 (@pxref{Q3.5.3}). 3016 question 3.5.3 (@pxref{Q3.5.3}).
3350 (defun scroll-down-one-line () 3040 (defun scroll-down-one-line ()
3351 (interactive) 3041 (interactive)
3352 (scroll-down 1)) 3042 (scroll-down 1))
3353 3043
3354 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-. 3044 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
3355 (global-set-key [(control ? ;)] 'scroll-down-one-line) ; C-; 3045 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
3356 @end lisp 3046 @end lisp
3357 3047
3358 The key point is that you can only bind simple functions to keys; you 3048 The key point is that you can only bind simple functions to keys; you
3359 can not bind a key to a function that you're also passing arguments to. 3049 can not bind a key to a function that you're also passing arguments to.
3360 (@pxref{Q3.5.1} for a better answer). 3050 (@pxref{Q3.5.1} for a better answer).
3467 Generally, the simplest way is to define a key as Multi_key with 3157 Generally, the simplest way is to define a key as Multi_key with
3468 xmodmap, e.g. 3158 xmodmap, e.g.
3469 @c hey, show some respect, willya -- there's xkeycaps, isn't there? -- 3159 @c hey, show some respect, willya -- there's xkeycaps, isn't there? --
3470 @c chr ;) 3160 @c chr ;)
3471 @example 3161 @example
3472 xmodmap -e 'keycode 0xff20 = Multi_key' 3162 xmodmap -e 'keycode 0xff20 = Multi_key'
3473 @end example 3163 @end example
3474 3164
3475 You will need to pick an appropriate keycode. Use xev to find out the 3165 You will need to pick an appropriate keycode. Use xev to find out the
3476 keycodes for each key. 3166 keycodes for each key.
3477 3167
3478 [NB: On a `Windows' keyboard, recent versions of XFree86 automatically 3168 [NB: On a `Windows' keyboard, recent versions of XFree86 automatically
3479 define the right `Windows' key as Multi_key'.] 3169 define the right `Windows' key as Multi_key'.]
3480 3170
3481 Once you have Multi_key defined, you can use e.g. 3171 Once you have Multi_key defined, you can use e.g.
3482 @example 3172 @example
3483 Multi a ' => á 3173 Multi a ' => á
3484 Multi e " => ë 3174 Multi e " => ë
3485 Multi c , => ç 3175 Multi c , => ç
3486 @end example 3176 @end example
3487 3177
3488 etc. 3178 etc.
3489 3179
3490 Also, recent versions of XFree86 define various AltGr-<key> 3180 Also, recent versions of XFree86 define various AltGr-<key>
3491 combinations as dead keys, i.e. 3181 combinations as dead keys, i.e.
3492 @example 3182 @example
3493 AltGr [ => dead_diaeresis 3183 AltGr [ => dead_diaeresis
3494 AltGr ] => dead_tilde 3184 AltGr ] => dead_tilde
3495 AltGr ; => dead_acute 3185 AltGr ; => dead_acute
3496 @end example 3186 @end example
3497 etc. 3187 etc.
3498 3188
3499 Running @samp{xmodmap -pk} will list all of the defined keysyms. 3189 Running @samp{xmodmap -pk} will list all of the defined keysyms.
3500 @end quotation 3190 @end quotation
3610 @kbd{M-x customize @key{RET} display @key{RET}}. 3300 @kbd{M-x customize @key{RET} display @key{RET}}.
3611 3301
3612 You can use a color to make it stand out better: 3302 You can use a color to make it stand out better:
3613 3303
3614 @example 3304 @example
3615 Emacs*cursorColor: Red 3305 Emacs*cursorColor: Red
3616 @end example 3306 @end example
3617 3307
3618 @node Q3.6.2, Q3.6.3, Q3.6.1, Customization 3308 @node Q3.6.2, Q3.6.3, Q3.6.1, Customization
3619 @unnumberedsubsec Q3.6.2: Is there a way to get back the block cursor? 3309 @unnumberedsubsec Q3.6.2: Is there a way to get back the block cursor?
3620 3310
3984 You want to use something called @dfn{pending delete}. Pending delete 3674 You want to use something called @dfn{pending delete}. Pending delete
3985 is what happens when you select a region (with the mouse or keyboard) 3675 is what happens when you select a region (with the mouse or keyboard)
3986 and you press a key to replace the selected region by the key you typed. 3676 and you press a key to replace the selected region by the key you typed.
3987 Usually backspace kills the selected region. 3677 Usually backspace kills the selected region.
3988 3678
3989 To get this behavior, add the following line to your @file{.emacs}: 3679 To get this behavior, add the following lines to your @file{.emacs}:
3990 3680
3991 @lisp 3681 @lisp
3992 (turn-on-pending-delete) 3682 (cond
3993 @end lisp 3683 ((fboundp 'turn-on-pending-delete)
3994 3684 (turn-on-pending-delete))
3995 Note that this will work with both Backspace and Delete. 3685 ((fboundp 'pending-delete-on)
3686 (pending-delete-on t)))
3687 @end lisp
3688
3689 Note that this will work with both Backspace and Delete. This code is a
3690 tad more complicated than it has to be for XEmacs in order to make it
3691 more portable.
3996 3692
3997 @node Q3.10.3, Q3.10.4, Q3.10.2, Customization 3693 @node Q3.10.3, Q3.10.4, Q3.10.2, Customization
3998 @unnumberedsubsec Q3.10.3: Can I turn off the highlight during isearch? 3694 @unnumberedsubsec Q3.10.3: Can I turn off the highlight during isearch?
3999 3695
4000 I do not like my text highlighted while I am doing isearch as I am not 3696 I do not like my text highlighted while I am doing isearch as I am not
4037 @lisp 3733 @lisp
4038 (defadvice scroll-up (around scroll-up freeze) 3734 (defadvice scroll-up (around scroll-up freeze)
4039 (interactive "_P") 3735 (interactive "_P")
4040 (let ((zmacs-region-stays t)) 3736 (let ((zmacs-region-stays t))
4041 (if (interactive-p) 3737 (if (interactive-p)
4042 (condition-case nil 3738 (condition-case nil
4043 ad-do-it 3739 ad-do-it
4044 (end-of-buffer (goto-char (point-max)))) 3740 (end-of-buffer (goto-char (point-max))))
4045 ad-do-it))) 3741 ad-do-it)))
4046 3742
4047 (defadvice scroll-down (around scroll-down freeze) 3743 (defadvice scroll-down (around scroll-down freeze)
4048 (interactive "_P") 3744 (interactive "_P")
4049 (let ((zmacs-region-stays t)) 3745 (let ((zmacs-region-stays t))
4050 (if (interactive-p) 3746 (if (interactive-p)
4051 (condition-case nil 3747 (condition-case nil
4052 ad-do-it 3748 ad-do-it
4053 (beginning-of-buffer (goto-char (point-min)))) 3749 (beginning-of-buffer (goto-char (point-min))))
4054 ad-do-it))) 3750 ad-do-it)))
4055 @end lisp 3751 @end lisp
4056 3752
4057 Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this 3753 Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this
4058 answer. 3754 answer.
4107 * Q4.6.1:: What is Infodock? 3803 * Q4.6.1:: What is Infodock?
4108 3804
4109 Other Unbundled Packages: 3805 Other Unbundled Packages:
4110 * Q4.7.1:: What is AUC TeX? Where do you get it? 3806 * Q4.7.1:: What is AUC TeX? Where do you get it?
4111 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets? 3807 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets?
4112 * Q4.7.3:: Byte compiling AUC TeX on XEmacs 19.14 3808 * Q4.7.3:: [This question intentionally left blank]
4113 * Q4.7.4:: Problems installing AUC TeX 3809 * Q4.7.4:: Problems installing AUC TeX
4114 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs? 3810 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs?
4115 * Q4.7.6:: Is there a MatLab mode? 3811 * Q4.7.6:: Is there a MatLab mode?
4116 @end menu 3812 @end menu
4117 3813
4176 Set @code{vm-reply-ignored-addresses} to a list, like 3872 Set @code{vm-reply-ignored-addresses} to a list, like
4177 3873
4178 @lisp 3874 @lisp
4179 (setq vm-reply-ignored-addresses 3875 (setq vm-reply-ignored-addresses
4180 '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com" 3876 '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
4181 "wing@@netcom.com" "wing@@xemacs.org")) 3877 "wing@@netcom.com" "wing@@xemacs.org"))
4182 @end lisp 3878 @end lisp
4183 3879
4184 Note that each string is a regular expression. 3880 Note that each string is a regular expression.
4185 3881
4186 @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems 3882 @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems
4283 3979
4284 John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes: 3980 John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes:
4285 3981
4286 @quotation 3982 @quotation
4287 @lisp 3983 @lisp
4288 ; Don't use multiple frames 3984 ; Don't use multiple frames
4289 (setq vm-frame-per-composition nil) 3985 (setq vm-frame-per-composition nil)
4290 (setq vm-frame-per-folder nil) 3986 (setq vm-frame-per-folder nil)
4291 (setq vm-frame-per-edit nil) 3987 (setq vm-frame-per-edit nil)
4292 (setq vm-frame-per-summary nil) 3988 (setq vm-frame-per-summary nil)
4293 @end lisp 3989 @end lisp
4298 @c Changed June 3994 @c Changed June
4299 For mh-e use the following: 3995 For mh-e use the following:
4300 3996
4301 @lisp 3997 @lisp
4302 (add-hook 'mh-show-mode-hook '(lambda () 3998 (add-hook 'mh-show-mode-hook '(lambda ()
4303 (smiley-region (point-min) 3999 (smiley-region (point-min)
4304 (point-max)))) 4000 (point-max))))
4305 @end lisp 4001 @end lisp
4306 4002
4307 @email{bill@@carpenter.ORG, WJCarpenter} writes: 4003 @email{bill@@carpenter.ORG, WJCarpenter} writes:
4308 For VM use the following: 4004 For VM use the following:
4622 --- /opt/SUNWspro/lib/eserve.el.ORIG Fri May 14 15:23:26 1999 4318 --- /opt/SUNWspro/lib/eserve.el.ORIG Fri May 14 15:23:26 1999
4623 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999 4319 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
4624 @@@@ -42,7 +42,7 @@@@ 4320 @@@@ -42,7 +42,7 @@@@
4625 (defvar running-xemacs nil "t if we're running XEmacs") 4321 (defvar running-xemacs nil "t if we're running XEmacs")
4626 (defvar running-emacs nil "t if we're running GNU Emacs 19") 4322 (defvar running-emacs nil "t if we're running GNU Emacs 19")
4627 4323
4628 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version) 4324 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
4629 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version) 4325 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
4630 (setq running-xemacs t) 4326 (setq running-xemacs t)
4631 (setq running-emacs t)) 4327 (setq running-emacs t))
4632 @end format 4328 @end format
4633 4329
4634 4330
4635 4331
4636 @node Q4.5.1, Q4.6.1, Q4.4.2, Subsystems 4332 @node Q4.5.1, Q4.6.1, Q4.4.2, Subsystems
4637 @unnumberedsec 4.5: Energize 4333 @unnumberedsec 4.5: Energize
4844 @* 4540 @*
4845 @end iftex 4541 @end iftex
4846 @uref{ftp://cs.nyu.edu/pub/local/fox/dismal/}. 4542 @uref{ftp://cs.nyu.edu/pub/local/fox/dismal/}.
4847 4543
4848 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems 4544 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems
4849 @unnumberedsubsec Q4.7.3: Byte compiling AUC TeX on XEmacs 19.14. 4545 @unnumberedsubsec Q4.7.3: [This question intentionally left blank]
4850
4851 @email{bruncott@@dormeur.inria.fr, Georges Brun-Cottan} writes:
4852
4853 @quotation
4854 When byte compiling auctex-9.4g, you must use the command:
4855
4856 @example
4857 xemacs -batch -l lpath.el
4858 @end example
4859 @end quotation
4860 4546
4861 @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems 4547 @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems
4862 @unnumberedsubsec Q4.7.4: Problems installing AUC TeX. 4548 @unnumberedsubsec Q4.7.4: Problems installing AUC TeX.
4863 4549
4864 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes: 4550 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
4910 additional package. 4596 additional package.
4911 4597
4912 Each package bundled with XEmacs means more work for the maintainers, 4598 Each package bundled with XEmacs means more work for the maintainers,
4913 whether they want it or not. If you are ready to take over the 4599 whether they want it or not. If you are ready to take over the
4914 maintenance responsibilities for the package you port, be sure to say 4600 maintenance responsibilities for the package you port, be sure to say
4915 so -- we will more likely include it. 4601 so---we will more likely include it.
4916 4602
4917 @item 4603 @item
4918 The package simply hasn't been noted by the XEmacs development. If 4604 The package simply hasn't been noted by the XEmacs development. If
4919 that's the case, the messages like yours are very useful for attracting 4605 that's the case, the messages like yours are very useful for attracting
4920 our attention. 4606 our attention.
4926 appreciated. 4612 appreciated.
4927 @end enumerate 4613 @end enumerate
4928 4614
4929 @node Q4.7.6, , Q4.7.5, Subsystems 4615 @node Q4.7.6, , Q4.7.5, Subsystems
4930 @unnumberedsubsec Q4.7.5: Is there a MatLab mode? 4616 @unnumberedsubsec Q4.7.5: Is there a MatLab mode?
4931 @c New 4617
4932 Is there any way I can get syntax highlighting for MatLab .m files? 4618 Yes, a matlab mode and other items are available at the
4933 Can I "teach" emacs what words are MatLab commands, comments, etc. ? 4619 @uref{ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons,
4934 4620 MathWorks' emacs_add_ons ftp directory}.
4935 @email{elsner@@mathematik.tu-chemnitz.de, Ulrich Elsner} writes:
4936 @quotation
4937 One way to do this (and much more) is by using the
4938 @iftex
4939 @*
4940 @end iftex
4941 @comment @uref{ftp://ftp.mathworks.com/pub/contrib/v5/tools/matlab.el, matlab mode}.
4942 matlab mode. (If someone knows where this can be found, please contact
4943 the @email{faq@@xemacs.org,XEmacs FAQ maintainer}.
4944
4945 Instructions on how to install this mode are included in this file.
4946 @end quotation
4947
4948 4621
4949 @node Miscellaneous, MS Windows, Subsystems, Top 4622 @node Miscellaneous, MS Windows, Subsystems, Top
4950 @unnumbered 5 The Miscellaneous Stuff 4623 @unnumbered 5 The Miscellaneous Stuff
4951 4624
4952 This is part 5 of the XEmacs Frequently Asked Questions list. This 4625 This is part 5 of the XEmacs Frequently Asked Questions list. This
4963 * Q5.0.6:: How do I start up a second shell buffer? 4636 * Q5.0.6:: How do I start up a second shell buffer?
4964 * Q5.0.7:: Telnet from shell filters too much. 4637 * Q5.0.7:: Telnet from shell filters too much.
4965 * Q5.0.8:: Why does edt emulation not work? 4638 * Q5.0.8:: Why does edt emulation not work?
4966 * Q5.0.9:: How can I emulate VI and use it as my default mode? 4639 * Q5.0.9:: How can I emulate VI and use it as my default mode?
4967 * Q5.0.10:: [This question intentionally left blank] 4640 * Q5.0.10:: [This question intentionally left blank]
4968 * Q5.0.11:: Filladapt doesn't work in 19.15? 4641 * Q5.0.11:: How do I turn on filladapt for all buffers?
4969 * Q5.0.12:: How do I disable gnuserv from opening a new frame? 4642 * Q5.0.12:: How do I disable gnuserv from opening a new frame?
4970 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? 4643 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client?
4971 * Q5.0.14:: Strange things are happening in Shell Mode. 4644 * Q5.0.14:: Strange things are happening in Shell Mode.
4972 * Q5.0.15:: Where do I get the latest CC Mode? 4645 * Q5.0.15:: Where do I get the latest CC Mode?
4973 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off? 4646 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off?
4974 * Q5.0.17:: How can I get two instances of info? 4647 * Q5.0.17:: How can I get two instances of info?
4975 * Q5.0.18:: I upgraded to XEmacs 19.14 and gnuserv stopped working 4648 * Q5.0.18:: [This question intentionally left blank]
4976 * Q5.0.19:: Is there something better than LaTeX mode? 4649 * Q5.0.19:: Is there something better than LaTeX mode?
4977 * Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? 4650 * Q5.0.20:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
4978 4651
4979 Emacs Lisp Programming Techniques: 4652 Emacs Lisp Programming Techniques:
4980 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? 4653 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs?
5017 For most modes, font-lock is already set up and just needs to be turned 4690 For most modes, font-lock is already set up and just needs to be turned
5018 on. This can be done by @kbd{M-x font-lock-mode}, or by having XEmacs 4691 on. This can be done by @kbd{M-x font-lock-mode}, or by having XEmacs
5019 automatically start it by adding lines like: 4692 automatically start it by adding lines like:
5020 4693
5021 @lisp 4694 @lisp
5022 (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock) 4695 (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
5023 (add-hook 'dired-mode-hook 'turn-on-font-lock) 4696 (add-hook 'dired-mode-hook 'turn-on-font-lock)
5024 @end lisp 4697 @end lisp
5025 4698
5026 to your @file{.emacs}. See the file @file{etc/sample.emacs} for more 4699 to your @file{.emacs}. See the file @file{etc/sample.emacs} for more
5027 examples. 4700 examples.
5028 4701
5163 @samp{*shell*} can exist. It might be preferable to use @kbd{M-x 4836 @samp{*shell*} can exist. It might be preferable to use @kbd{M-x
5164 rename-uniquely} to rename the @code{*shell*} buffer instead of @kbd{M-x 4837 rename-uniquely} to rename the @code{*shell*} buffer instead of @kbd{M-x
5165 rename-buffer}. 4838 rename-buffer}.
5166 4839
5167 Alternately, you can set the variable @code{shell-multiple-shells}. 4840 Alternately, you can set the variable @code{shell-multiple-shells}.
5168 If the value of this variable is non-nil, each time shell mode is invoked, 4841 If the value of this variable is non-nil, each time shell mode is invoked,
5169 a new shell is made 4842 a new shell is made
5170 4843
5171 @node Q5.0.7, Q5.0.8, Q5.0.6, Miscellaneous 4844 @node Q5.0.7, Q5.0.8, Q5.0.6, Miscellaneous
5172 @unnumberedsubsec Q5.0.7: Telnet from shell filters too much 4845 @unnumberedsubsec Q5.0.7: Telnet from shell filters too much
5173 4846
5219 @unnumberedsubsec Q5.0.10: [This question intentionally left blank] 4892 @unnumberedsubsec Q5.0.10: [This question intentionally left blank]
5220 4893
5221 Obsolete question, left blank to avoid renumbering 4894 Obsolete question, left blank to avoid renumbering
5222 4895
5223 @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous 4896 @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous
5224 @unnumberedsubsec Q5.0.11: Filladapt doesn't work in 19.15 4897 @unnumberedsubsec Q5.0.11: How do I turn on filladapt for all buffers?
5225 4898
5226 Filladapt 2.x is included in 19.15. In it filladapt is now a minor 4899 Filladapt is a minor mode and minor modes are traditionally off by
5227 mode and minor modes are traditionally off by default. The following 4900 default. The following added to your @file{.emacs} will turn it on for
5228 added to your @file{.emacs} will turn it on for all buffers: 4901 all buffers:
5229 4902
5230 @lisp 4903 @lisp
5231 (setq-default filladapt-mode t) 4904 (setq-default filladapt-mode t)
5232 @end lisp 4905 @end lisp
5233 4906
5331 @unnumberedsubsec Q5.0.17: How can I get two instances of info? 5004 @unnumberedsubsec Q5.0.17: How can I get two instances of info?
5332 5005
5333 You can't. The @code{info} package does not provide for multiple info buffers. 5006 You can't. The @code{info} package does not provide for multiple info buffers.
5334 5007
5335 @node Q5.0.18, Q5.0.19, Q5.0.17, Miscellaneous 5008 @node Q5.0.18, Q5.0.19, Q5.0.17, Miscellaneous
5336 @unnumberedsubsec Q5.0.18: I upgraded to XEmacs 19.14 and gnuserv stopped working. 5009 @unnumberedsubsec Q5.0.18: [This question intentionally left blank]
5337
5338 @email{daku@@nortel.ca, Mark Daku} writes:
5339
5340 @quotation
5341 It turns out I was using an older version of gnuserv. The installation
5342 didn't put the binary into the public bin directory. It put it in
5343 @iftex
5344 @*
5345 @end iftex
5346 @file{lib/xemacs-19.14/hppa1.1-hp-hpux9.05/gnuserv}. Shouldn't it have
5347 been put in @file{bin/hppa1.1-hp-hpux9.0}?
5348 @end quotation
5349 5010
5350 @node Q5.0.19, Q5.0.20, Q5.0.18, Miscellaneous 5011 @node Q5.0.19, Q5.0.20, Q5.0.18, Miscellaneous
5351 @unnumberedsubsec Q5.0.19: Is there something better than LaTeX mode? 5012 @unnumberedsubsec Q5.0.19: Is there something better than LaTeX mode?
5352 5013
5353 @email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes: 5014 @email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes:
5554 variable if it was bound previously. If you wish to change a 5215 variable if it was bound previously. If you wish to change a
5555 user-variable temporarily, use @code{let}: 5216 user-variable temporarily, use @code{let}:
5556 5217
5557 @lisp 5218 @lisp
5558 (let ((case-fold-search nil)) 5219 (let ((case-fold-search nil))
5559 ... ; code with searches that must be case-sensitive 5220 ... ; code with searches that must be case-sensitive
5560 ...) 5221 ...)
5561 @end lisp 5222 @end lisp
5562 5223
5563 You will notice the user-variables by their docstrings beginning with an 5224 You will notice the user-variables by their docstrings beginning with an
5564 asterisk (a convention). 5225 asterisk (a convention).
5619 does a bad thing, as @code{a} will keep consuming memory, never to be 5280 does a bad thing, as @code{a} will keep consuming memory, never to be
5620 unbound. The correct thing is to do it like this: 5281 unbound. The correct thing is to do it like this:
5621 5282
5622 @lisp 5283 @lisp
5623 (defun my-function (whatever) 5284 (defun my-function (whatever)
5624 (let (a) ; default initialization is to nil 5285 (let (a) ; default initialization is to nil
5625 ... build a large list ... 5286 ... build a large list ...
5626 ... and exit, unbinding `a' in the process ...) 5287 ... and exit, unbinding `a' in the process ...)
5627 @end lisp 5288 @end lisp
5628 5289
5629 Not only is this prettier syntactically, but it makes it possible for 5290 Not only is this prettier syntactically, but it makes it possible for
5632 Note that even global variables should not be @code{setq}ed without 5293 Note that even global variables should not be @code{setq}ed without
5633 @code{defvar}ing them first, because the byte-compiler issues warnings. 5294 @code{defvar}ing them first, because the byte-compiler issues warnings.
5634 The reason for the warning is the following: 5295 The reason for the warning is the following:
5635 5296
5636 @lisp 5297 @lisp
5637 (defun flurgoze nil) ; ok, global internal variable 5298 (defun flurgoze nil) ; ok, global internal variable
5638 ... 5299 ...
5639 5300
5640 (setq flurghoze t) ; ops! a typo, but semantically correct. 5301 (setq flurghoze t) ; ops! a typo, but semantically correct.
5641 ; however, the byte-compiler warns. 5302 ; however, the byte-compiler warns.
5642 5303
5643 While compiling toplevel forms: 5304 While compiling toplevel forms:
5644 ** assignment to free variable flurghoze 5305 ** assignment to free variable flurghoze
5645 @end lisp 5306 @end lisp
5646 5307
5776 @lisp 5437 @lisp
5777 (setq bell-volume 0) 5438 (setq bell-volume 0)
5778 (setq sound-alist nil) 5439 (setq sound-alist nil)
5779 @end lisp 5440 @end lisp
5780 5441
5781 That will make your XEmacs totally silent -- even the default ding sound 5442 That will make your XEmacs totally silent---even the default ding sound
5782 (TTY beep on TTY-s) will be gone. 5443 (TTY beep on TTY-s) will be gone.
5783 5444
5784 Starting with XEmacs-20.2 you can also change these with Customize. 5445 Starting with XEmacs-20.2 you can also change these with Customize.
5785 Select from the @code{Options} menu 5446 Select from the @code{Options} menu
5786 @code{Customize->Emacs->Environment->Sound->Sound...} or type 5447 @code{Customize->Emacs->Environment->Sound->Sound...} or type
5873 expressions. It was fixed in 19.13. For earlier versions of XEmacs, 5534 expressions. It was fixed in 19.13. For earlier versions of XEmacs,
5874 have a look at your @file{.emacs} file. You will probably have a line 5535 have a look at your @file{.emacs} file. You will probably have a line
5875 like: 5536 like:
5876 5537
5877 @lisp 5538 @lisp
5878 (add-hook 'postscript-mode-hook 'turn-on-font-lock) 5539 (add-hook 'postscript-mode-hook 'turn-on-font-lock)
5879 @end lisp 5540 @end lisp
5880 5541
5881 Take it out, restart XEmacs, and it won't try to fontify your postscript 5542 Take it out, restart XEmacs, and it won't try to fontify your postscript
5882 files anymore. 5543 files anymore.
5883 5544
6112 5773
6113 You use something like: 5774 You use something like:
6114 5775
6115 @lisp 5776 @lisp
6116 (setq Info-directory-list (cons 5777 (setq Info-directory-list (cons
6117 (expand-file-name "~/info") 5778 (expand-file-name "~/info")
6118 Info-default-directory-list)) 5779 Info-default-directory-list))
6119 @end lisp 5780 @end lisp
6120 5781
6121 @email{davidm@@prism.kla.com, David Masterson} writes: 5782 @email{davidm@@prism.kla.com, David Masterson} writes:
6122 5783
6123 @quotation 5784 @quotation
6203 port of XEmacs. 5864 port of XEmacs.
6204 5865
6205 @menu 5866 @menu
6206 5867
6207 General Info 5868 General Info
6208 * Q6.0.1:: What is the status of the XEmacs port to Windows? 5869 * Q6.0.1:: What is the status of the XEmacs port to Windows?
6209 * Q6.0.2:: What flavors of MS Windows are supported? 5870 * Q6.0.2:: What flavors of MS Windows are supported?
6210 * Q6.0.3:: Where are the XEmacs on MS Windows binaries? 5871 * Q6.0.3:: Where are the XEmacs on MS Windows binaries?
6211 * Q6.0.4:: Does XEmacs on MS Windows require an X server to run? 5872 * Q6.0.4:: Does XEmacs on MS Windows require an X server to run?
6212 5873
6213 Building XEmacs on MS Windows 5874 Building XEmacs on MS Windows
6214 * Q6.1.1:: I decided to run with X. Where do I get an X server? 5875 * Q6.1.1:: I decided to run with X. Where do I get an X server?
6215 * Q6.1.2:: What compiler do I need to compile XEmacs? 5876 * Q6.1.2:: What compiler do I need to compile XEmacs?
6216 * Q6.1.3:: How do I compile for the native port? 5877 * Q6.1.3:: How do I compile for the native port?
6217 * Q6.1.4:: How do I compile for the X port? 5878 * Q6.1.4:: How do I compile for the X port?
6218 * Q6.1.5:: How do I compile for Cygnus' Cygwin? 5879 * Q6.1.5:: How do I compile for Cygnus' Cygwin?
6219 * Q6.1.6:: What do I need for Cygwin? 5880 * Q6.1.6:: What do I need for Cygwin?
6220 5881
6221 Customization and User Interface 5882 Customization and User Interface
6222 * Q6.2.1:: How will the port cope with differences in the Windows user interface? 5883 * Q6.2.1:: How will the port cope with differences in the Windows user interface?
6223 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? 5884 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows?
6224 * Q6.2.3:: Where do I put my @file{.emacs} file? 5885 * Q6.2.3:: Where do I put my @file{.emacs} file?
6225 5886
6226 Miscellaneous 5887 Miscellaneous
6227 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*? 5888 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*?
6228 * Q6.3.2:: What are the differences between the various MS Windows emacsen? 5889 * Q6.3.2:: What are the differences between the various MS Windows emacsen?
6229 * Q6.3.3:: What is the porting team doing at the moment? 5890 * Q6.3.3:: What is the porting team doing at the moment?
6230 5891
6231 Troubleshooting: 5892 Troubleshooting:
6232 * Q6.4.1:: XEmacs won't start on Windows. (NEW) 5893 * Q6.4.1:: XEmacs won't start on Windows. (NEW)
6233 5894
6234 @end menu 5895 @end menu
6269 Short answer: No. 5930 Short answer: No.
6270 5931
6271 Long answer: XEmacs can be built in several ways in the MS Windows 5932 Long answer: XEmacs can be built in several ways in the MS Windows
6272 environment, some of them requiring an X server and some not. 5933 environment, some of them requiring an X server and some not.
6273 5934
6274 One is what we call the "X" port -- it requires X libraries to build 5935 One is what we call the "X" port---it requires X libraries to build
6275 and an X server to run. Internally it uses the Xt event loop and 5936 and an X server to run. Internally it uses the Xt event loop and
6276 makes use of X toolkits. Its look is quite un-Windowsy, but it works 5937 makes use of X toolkits. Its look is quite un-Windowsy, but it works
6277 reliably and supports all of the graphical features of Unix XEmacs. 5938 reliably and supports all of the graphical features of Unix XEmacs.
6278 5939
6279 The other is what we call the "native" port. It uses the Win32 API 5940 The other is what we call the "native" port. It uses the Win32 API
6287 There is also a third special case, the Cygwin port. It takes 5948 There is also a third special case, the Cygwin port. It takes
6288 advantage of Cygnus emulation library under Win32, which enables it to 5949 advantage of Cygnus emulation library under Win32, which enables it to
6289 reuse much of the Unix XEmacs code base, such as processes and network 5950 reuse much of the Unix XEmacs code base, such as processes and network
6290 support, or internal select() mechanisms. 5951 support, or internal select() mechanisms.
6291 5952
6292 Cygwin port supports all display types -- TTY, X & MS gui, and can be 5953 Cygwin port supports all display types---TTY, X & MS gui, and can be
6293 built with support for all three. If you build with ms gui support 5954 built with support for all three. If you build with ms gui support
6294 then the Cygwin version uses the majority of the msw code, which is 5955 then the Cygwin version uses the majority of the msw code, which is
6295 mostly related to display. If you want to build with X support you 5956 mostly related to display. If you want to build with X support you
6296 need X libraries. If you want to build with tty support you need 5957 need X libraries. If you want to build with tty support you need
6297 ncurses. MS gui requires no additional libraries. 5958 ncurses. MS gui requires no additional libraries.
6318 5979
6319 Pointers to X servers can be found at 5980 Pointers to X servers can be found at
6320 @iftex 5981 @iftex
6321 @* 5982 @*
6322 @end iftex 5983 @end iftex
6323 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/}; 5984 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/};
6324 5985
6325 look for "Where to get an X server". Also note that, although the above 5986 look for "Where to get an X server". Also note that, although the above
6326 page talks about Cygnus gnu-win32 (Cygwin), the information on X servers 5987 page talks about Cygnus gnu-win32 (Cygwin), the information on X servers
6327 is Cygwin-independent. You don't have to be running/using Cygwin to use 5988 is Cygwin-independent. You don't have to be running/using Cygwin to use
6328 these X servers, and you don't have to compile XEmacs under Cygwin to 5989 these X servers, and you don't have to compile XEmacs under Cygwin to
6332 5993
6333 5994
6334 @node Q6.1.2, Q6.1.3, Q6.1.1, MS Windows 5995 @node Q6.1.2, Q6.1.3, Q6.1.1, MS Windows
6335 @unnumberedsubsec Q6.1.2: What compiler do I need to compile XEmacs? 5996 @unnumberedsubsec Q6.1.2: What compiler do I need to compile XEmacs?
6336 5997
6337 You need Visual C++ 4.2 or 5.0, with the exception of the Cygwin port, 5998 You need Visual C++ 4.2, 5.0, or 6.0, with the exception of the Cygwin
6338 which uses Gcc. 5999 port, which uses Gcc. There is also a MINGW32 port of XEmacs (using
6000 Gcc, but using native libraries rather than the Cygwin libraries). ####
6001 More information about this should be provided.
6339 6002
6340 6003
6341 @node Q6.1.3, Q6.1.4, Q6.1.2, MS Windows 6004 @node Q6.1.3, Q6.1.4, Q6.1.2, MS Windows
6342 @unnumberedsubsec Q6.1.3: How do I compile for the native port? 6005 @unnumberedsubsec Q6.1.3: How do I compile for the native port?
6343 6006
6363 @item 6026 @item
6364 make sure HOME is set. This controls where you @file{.emacs} file comes 6027 make sure HOME is set. This controls where you @file{.emacs} file comes
6365 from; 6028 from;
6366 6029
6367 @item 6030 @item
6368 CYGWIN32 needs to be set to tty for process support 6031 CYGWIN needs to be set to tty for process support work. e.g. CYGWIN=tty;
6369 work. e.g. CYGWIN32=tty; 6032 (use CYGWIN32=tty under b19 and older.)
6370 6033
6371 @item 6034 @item
6372 picking up some other grep or other unix like tools can kill configure; 6035 picking up some other grep or other unix like tools can kill configure;
6373 6036
6374 @item 6037 @item
6388 You can find the Cygwin tools and compiler at: 6051 You can find the Cygwin tools and compiler at:
6389 6052
6390 @uref{http://sourceware.cygnus.com/cygwin/} 6053 @uref{http://sourceware.cygnus.com/cygwin/}
6391 6054
6392 You will need version b19 or later. 6055 You will need version b19 or later.
6393 6056 The latest current version is 1.1.1.
6394 You will also need the X libraries. There are libraries at 6057 Other common versions you will see are b20.1.
6058
6059 Another location, one of the mirror sites of the site just mentioned,
6060 is usually a last faster:
6061
6062 @uref{ftp://ftp.freesoftware.com/pub/sourceware/cygwin/}
6063
6064 You can obtain the latest version (currently 1.1.1) from the
6065 @samp{latest/} subdirectory of either of the above two just-mentioned
6066 URL's.
6067
6068 @strong{WARNING: The version of GCC supplied under @samp{latest/}, as of
6069 June 6th, 2000, does not appear to work. It generates loads of spurious
6070 preprocessor warnings and errors, which makes it impossible to compile
6071 XEmacs with it.}
6072
6073 You will also need the X libraries. You can get them on the XEmacs FTP
6074 site at
6075
6076 @uref{ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin/}
6077
6078 You will find b19 and b20 versions of the X libraries, plus b19 and b20
6079 versions of stuff that should go into @samp{/usr/local/}, donated by
6080 Andy Piper. This includes pre-built versions of various graphics libraries,
6081 such as PNG, JPEG, TIFF, and XPM. (Remember, GIF support is built-in to
6082 XEmacs.)
6083
6084 (X libraries for v1 and beyond of Cygwin can be found on the Cygwin site
6085 itself -- look in the @samp{xfree/} subdirectory.)
6086
6087 @emph{NOTE:} There are two versions of the XPM library provided in
6088 Andy's packets. Once is for building with X support, and the other for
6089 building without. The X version should work if you're building with
6090 both X and Windows support. The two files are called @file{libXpm-X.a}
6091 and @file{libXpm-noX.a} respectively, and you must symlink the
6092 appropriate one to @file{libXpm.a}. @strong{CAREFUL:} By default, the
6093 non-X version is symlinked in. If you then configure XEmacs with X,
6094 you won't run into problems until you start compiling @file{events.c},
6095 at which point you'll get strange and decidedly non-obvious errors.
6096
6097 Please see @uref{http://www.xemacs.freeserve.co.uk/} (Andy Piper's home
6098 page) for more information.
6099
6100 BTW There are also libraries at
6395 @iftex 6101 @iftex
6396 @* 6102 @*
6397 @end iftex 6103 @end iftex
6398 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/}, but 6104 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/}, but
6399 these are not b19 compatible. You can get b19 X11R6.3 binaries, as 6105 these are not b19 compatible, and may in fact be native-compiled.
6400 well as pre-built ncurses and graphic libraries, from:
6401
6402 @uref{ftp://ftp.parallax.co.uk/pub/andyp/}.
6403 6106
6404 6107
6405 @node Q6.2.1, Q6.2.2, Q6.1.6, MS Windows 6108 @node Q6.2.1, Q6.2.2, Q6.1.6, MS Windows
6406 @unnumberedsec 6.2: Customization and User Interface 6109 @unnumberedsec 6.2: Customization and User Interface
6407 @unnumberedsubsec Q6.2.1: How will the port cope with differences in the Windows user interface? 6110 @unnumberedsubsec Q6.2.1: How will the port cope with differences in the Windows user interface?
6408 6111
6409 XEmacs (and Emacs in general) UI is pretty 6112 XEmacs (and Emacs in general) UI is pretty
6410 different from what is expected of a typical MS Windows program. How will 6113 different from what is expected of a typical MS Windows program. How will
6411 the MS Windows port cope with it? 6114 the MS Windows port cope with it?
6412 6115
6413 Fortunately, Emacs is also one of the most configurable editor beasts 6116 Fortunately, Emacs is also one of the most configurable editor beasts
6414 in the world. The MS Windows "look and feel" (mark via shift-arrow, 6117 in the world. The MS Windows "look and feel" (mark via shift-arrow,
6421 6124
6422 6125
6423 @node Q6.2.2, Q6.2.3, Q6.2.1, MS Windows 6126 @node Q6.2.2, Q6.2.3, Q6.2.1, MS Windows
6424 @unnumberedsubsec Q6.2.2: How do I change fonts in XEmacs on MS Windows? 6127 @unnumberedsubsec Q6.2.2: How do I change fonts in XEmacs on MS Windows?
6425 6128
6426 You can change font manually, but not from the menubar, yet. For 6129 In 21.2.*, use the font menu. In 21.1.*, you can change font
6427 example: 6130 manually. For example:
6428 6131
6429 @display 6132 @display
6430 (set-face-font 'default "Lucida Console:Regular:10") 6133 (set-face-font 'default "Lucida Console:Regular:10")
6431 (set-face-font 'modeline "MS Sans Serif:Regular:10") 6134 (set-face-font 'modeline "MS Sans Serif:Regular:10")
6432 @end display 6135 @end display
6469 6172
6470 Here is a recount of various Emacs versions running on MS Windows: 6173 Here is a recount of various Emacs versions running on MS Windows:
6471 6174
6472 @itemize @bullet 6175 @itemize @bullet
6473 6176
6474 @item 6177 @item
6475 Win-Emacs 6178 Win-Emacs
6476 6179
6477 @itemize @minus 6180 @itemize @minus
6478 6181
6479 @item 6182 @item
6485 @end itemize 6188 @end itemize
6486 6189
6487 @item 6190 @item
6488 GNU Emacs for DOS 6191 GNU Emacs for DOS
6489 6192
6490 @itemize @minus 6193 @itemize @minus
6491 6194
6492 @item 6195 @item
6493 GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS 6196 GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS
6494 port of Gcc). Such an Emacs is heavily underfeatured, because it does 6197 port of Gcc). Such an Emacs is heavily underfeatured, because it does
6495 not supports long file names, lacks proper subprocesses support, and 6198 not supports long file names, lacks proper subprocesses support, and
6497 @end itemize 6200 @end itemize
6498 6201
6499 @item 6202 @item
6500 GNU Emacs compiled with Win32 6203 GNU Emacs compiled with Win32
6501 6204
6502 @itemize @minus 6205 @itemize @minus
6503 6206
6504 @item 6207 @item
6505 Starting with version 19.30, it has been possible to compile GNU Emacs 6208 Starting with version 19.30, it has been possible to compile GNU Emacs
6506 under MS Windows using the DJGPP compiler and X libraries. The result 6209 under MS Windows using the DJGPP compiler and X libraries. The result
6507 is is very similar to GNU Emacs compiled under MS DOS, only it 6210 is is very similar to GNU Emacs compiled under MS DOS, only it
6510 @end itemize 6213 @end itemize
6511 6214
6512 @item 6215 @item
6513 NT Emacs 6216 NT Emacs
6514 6217
6515 @itemize @minus 6218 @itemize @minus
6516 6219
6517 @item 6220 @item
6518 NT Emacs is a version of GNU Emacs modified to compile and run under 6221 NT Emacs is a version of GNU Emacs modified to compile and run under
6519 MS MS Windows 95 and NT using the native Win32 API. As such, it is close 6222 MS MS Windows 95 and NT using the native Win32 API. As such, it is close
6520 in spirit to the XEmacs "native" port. 6223 in spirit to the XEmacs "native" port.
6521 6224
6522 @item 6225 @item
6523 NT Emacs has been written by Geoff Voelker, and more information can be 6226 NT Emacs has been written by Geoff Voelker, and more information can be
6524 found at 6227 found at
6525 @iftex 6228 @iftex
6526 @* 6229 @*
6527 @end iftex 6230 @end iftex
6528 @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}. 6231 @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}.
6529 6232
6530 @end itemize 6233 @end itemize
6531 6234
6532 @item 6235 @item
6533 XEmacs 6236 XEmacs
6534 6237
6535 @itemize @minus 6238 @itemize @minus
6536 6239
6537 @item 6240 @item
6538 Beginning with XEmacs 19.12, XEmacs' architecture has been redesigned 6241 Beginning with XEmacs 19.12, XEmacs' architecture has been redesigned
6539 in such a way to allow clean support of multiple window systems. At 6242 in such a way to allow clean support of multiple window systems. At
6540 this time the TTY support was added, making X and TTY the first two 6243 this time the TTY support was added, making X and TTY the first two
6578 Unfortunately some .dlls (For instance the soundblaster driver) occupy 6281 Unfortunately some .dlls (For instance the soundblaster driver) occupy
6579 memory addresses that can conflict with those needed by the dumped XEmacs 6282 memory addresses that can conflict with those needed by the dumped XEmacs
6580 executable. In this instance XEmacs will fail to start without any 6283 executable. In this instance XEmacs will fail to start without any
6581 explanation. Note that this is extremely machine specific. 6284 explanation. Note that this is extremely machine specific.
6582 6285
6583 Work is being done on fixes for 21.1.* that will make more intelligent 6286 21.1.10 includes a fix for this that makes more intelligent guesses
6584 guesses about which memory addresses will be free and so this should 6287 about which memory addresses will be free, and this should cure the
6585 cure the problem for most people. 6288 problem for most people. Unfortunately, no binary is yet available for
6289 this version. Check back periodically at
6290
6291 @uref{ftp://ftp.xemacs.org/pub/xemacs/binaries/}.
6586 6292
6587 21.2 implements "portable dumping" which will eliminate the problem 6293 21.2 implements "portable dumping" which will eliminate the problem
6588 altogether. 6294 altogether. You might have better luck with the 21.2 beta binary,
6295 available at
6296
6297 @uref{ftp://ftp.xemacs.org/pub/xemacs/beta/binaries/}.
6298
6589 6299
6590 @node Current Events, , MS Windows, Top 6300 @node Current Events, , MS Windows, Top
6591 @unnumbered 7 What the Future Holds 6301 @unnumbered 7 What the Future Holds
6592 6302
6593 This is part 7 of the XEmacs Frequently Asked Questions list. This 6303 This is part 7 of the XEmacs Frequently Asked Questions list. This
6628 increased MIME support, and many, many synches with GNU Emacs 20. 6338 increased MIME support, and many, many synches with GNU Emacs 20.
6629 6339
6630 The XEmacs/Mule support has been only seriously tested in a Japanese 6340 The XEmacs/Mule support has been only seriously tested in a Japanese
6631 locale, and no doubt many problems still remain. The support for 6341 locale, and no doubt many problems still remain. The support for
6632 ISO-Latin-1 and Japanese is fairly strong. MULE support comes at a 6342 ISO-Latin-1 and Japanese is fairly strong. MULE support comes at a
6633 price -- about a 30% slowdown from 19.16. We're making progress on 6343 price---about a 30% slowdown from 19.16. We're making progress on
6634 improving performance and XEmacs 20.3 compiled without Mule (which is 6344 improving performance and XEmacs 20.3 compiled without Mule (which is
6635 the default) is definitely faster than XEmacs 19.16. 6345 the default) is definitely faster than XEmacs 19.16.
6636 6346
6637 XEmacs 20.3 is the first non-beta v20 release, and will be the 6347 XEmacs 20.3 is the first non-beta v20 release, and will be the
6638 basis for all further development. 6348 basis for all further development.