XEmacs 21.4.15
[chise/xemacs-chise.git.1] / info / xemacs-faq.info
1 This is ../info/xemacs-faq.info, produced by makeinfo version 4.6 from
2 xemacs-faq.texi.
3
4 INFO-DIR-SECTION XEmacs Editor
5 START-INFO-DIR-ENTRY
6 * FAQ: (xemacs-faq).            XEmacs FAQ.
7 END-INFO-DIR-ENTRY
8
9 \1f
10 File: xemacs-faq.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
11
12 XEmacs FAQ
13 **********
14
15 This is the guide to the XEmacs Frequently Asked Questions list--a
16 compendium of questions and answers pertaining to one of the finest
17 programs ever written.  XEmacs is much more than just a Text Editor.
18
19    This FAQ is freely redistributable.  This FAQ is distributed in the
20 hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
21 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22
23    If you have a Web browser, the official hypertext version is at
24 `http://www.xemacs.org/FAQ/xemacs-faq.html'
25
26 * Menu:
27
28 * Introduction::        Introduction, Policy, Credits.
29 * Installation::        Installation and Trouble Shooting.
30 * Customization::       Customization and Options.
31 * Subsystems::          Major Subsystems.
32 * Miscellaneous::       The Miscellaneous Stuff.
33 * MS Windows::          XEmacs on Microsoft Windows.
34 * Current Events::      What the Future Holds.
35 * Legacy Versions::     New information about old XEmacsen.
36
37
38  --- The Detailed Node Listing ---
39
40 Introduction, Policy, Credits
41
42 * Q1.0.1::      What is XEmacs?
43 * Q1.0.2::      What is the current version of XEmacs?
44 * Q1.0.3::      Where can I find it?
45 * Q1.0.4::      Why Another Version of Emacs?
46 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
47 * Q1.0.6::      Where can I get help?
48 * Q1.0.7::      Where are the mailing lists archived?
49 * Q1.0.8::      How do you pronounce XEmacs?
50 * Q1.0.9::      What does XEmacs look like?
51 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
52 * Q1.0.11::     Is there a port of XEmacs to the Macintosh?
53 * Q1.0.12::     Is there a port of XEmacs to NextStep?
54 * Q1.0.13::     Is there a port of XEmacs to OS/2?
55 * Q1.0.14::     Where can I get a printed copy of the XEmacs users manual?
56
57 Policies:
58 * Q1.1.1::      What is the FAQ editorial policy?
59 * Q1.1.2::      How do I become a Beta Tester?
60 * Q1.1.3::      How do I contribute to XEmacs itself?
61
62 Credits:
63 * Q1.2.1::      Who wrote XEmacs?
64 * Q1.2.2::      Who contributed to this version of the FAQ?
65 * Q1.2.3::      Who contributed to the FAQ in the past?
66
67 Internationalization:
68 * Q1.3.1::      What is the status of internationalization support aka MULE (including Asian language support?
69 * Q1.3.2::      How can I help with internationalization?
70 * Q1.3.3::      How do I type non-ASCII characters?
71 * Q1.3.4::      Can XEmacs messages come out in a different language?
72 * Q1.3.5::      Please explain the various input methods in MULE/XEmacs
73 * Q1.3.6::      How do I portably code for MULE/XEmacs?
74 * Q1.3.7::      How about Cyrillic Modes?
75 * Q1.3.8::      Does XEmacs support Unicode?
76 * Q1.3.9::      How does XEmacs display Unicode?
77
78 Getting Started:
79 * Q1.4.1::      What is an `init.el' or `.emacs' and is there a sample one?
80 * Q1.4.2::      Can I use the same `init.el'/`.emacs' with the other Emacs?
81 * Q1.4.3::      Any good XEmacs tutorials around?
82 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
83 * Q1.4.5::      And how do I bind it to a key?
84 * Q1.4.6::      What's the difference between a macro and a function?
85
86 Installation and Trouble Shooting
87
88 * Q2.0.1::      Running XEmacs without installing.
89 * Q2.0.2::      XEmacs is too big.
90 * Q2.0.3::      Compiling XEmacs with Netaudio.
91 * Q2.0.4::      Problems with Linux and ncurses.
92 * Q2.0.5::      Do I need X11 to run XEmacs?
93 * Q2.0.6::      I'm having strange crashes.  What do I do?
94 * Q2.0.7::      Libraries in non-standard locations.
95 * Q2.0.8::      can't resolve symbol _h_errno
96 * Q2.0.9::      Where do I find external libraries?
97 * Q2.0.10::     After I run configure I find a coredump, is something wrong?
98 * Q2.0.11::     XEmacs can't resolve host names.
99 * Q2.0.12::     Why can't I strip XEmacs?
100 * Q2.0.13::     I don't need no steenkin' packages.  Do I?
101 * Q2.0.14::     How do I figure out which packages to install?
102 * Q2.0.15::     EFS fails with "500 AUTH not understood" (NEW)
103 * Q2.0.16::     Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
104
105 Trouble Shooting:
106 * Q2.1.1::      XEmacs just crashed on me!
107 * Q2.1.2::      Cryptic Minibuffer messages.
108 * Q2.1.3::      Translation Table Syntax messages at Startup.
109 * Q2.1.4::      Startup warnings about deducing proper fonts?
110 * Q2.1.5::      XEmacs cannot connect to my X Terminal.
111 * Q2.1.6::      XEmacs just locked up my Linux X server.
112 * Q2.1.7::      HP Alt key as Meta.
113 * Q2.1.8::      got (wrong-type-argument color-instance-p nil)!
114 * Q2.1.9::      XEmacs causes my OpenWindows 3.0 server to crash.
115 * Q2.1.10::     Warnings from incorrect key modifiers.
116 * Q2.1.11::     Can't instantiate image error... in toolbar
117 * Q2.1.12::     Regular Expression Problems on DEC OSF1.
118 * Q2.1.13::     HP/UX 10.10 and `create_process' failure
119 * Q2.1.14::     C-g doesn't work for me.  Is it broken?
120 * Q2.1.15::     How to debug an XEmacs problem with a debugger.
121 * Q2.1.16::     XEmacs crashes in `strcat' on HP/UX 10.
122 * Q2.1.17::     `Marker does not point anywhere'.
123 * Q2.1.18::     XEmacs is outputting lots of X errors.
124 * Q2.1.19::     XEmacs does not follow the local timezone.
125 * Q2.1.20::     `Symbol's function definition is void: hkey-help-show.'
126 * Q2.1.21::     [This question intentionally left blank]
127 * Q2.1.22::     XEmacs seems to take a really long time to do some things.
128 * Q2.1.23::     Movemail on Linux does not work for XEmacs 19.15 and later.
129 * Q2.1.24::     XEmacs won't start without network.
130 * Q2.1.25::     After upgrading, XEmacs won't do `foo' any more!
131
132 Customization and Options
133
134 * Q3.0.1::      What version of Emacs am I running?
135 * Q3.0.2::      How do I evaluate Elisp expressions?
136 * Q3.0.3::      `(setq tab-width 6)' behaves oddly.
137 * Q3.0.4::      How can I add directories to the `load-path'?
138 * Q3.0.5::      How to check if a lisp function is defined?
139 * Q3.0.6::      Can I force the output of `(face-list)' to a buffer?
140 * Q3.0.7::      Font selections don't get saved after `Save Options'.
141 * Q3.0.8::      How do I make a single minibuffer frame?
142 * Q3.0.9::      What is `Customize'?
143
144 X Window System & Resources:
145 * Q3.1.1::      Where is a list of X resources?
146 * Q3.1.2::      How can I detect a color display?
147 * Q3.1.3::      [This question intentionally left blank]
148 * Q3.1.4::      [This question intentionally left blank]
149 * Q3.1.5::      How can I get the icon to just say `XEmacs'?
150 * Q3.1.6::      How can I have the window title area display the full path?
151 * Q3.1.7::      `xemacs -name junk' doesn't work?
152 * Q3.1.8::      `-iconic' doesn't work.
153
154 Textual Fonts & Colors:
155 * Q3.2.1::      How can I set color options from `init.el'/`.emacs'?
156 * Q3.2.2::      How do I set the text, menu and modeline fonts?
157 * Q3.2.3::      How can I set the colors when highlighting a region?
158 * Q3.2.4::      How can I limit color map usage?
159 * Q3.2.5::      My tty supports color, but XEmacs doesn't use them.
160 * Q3.2.6::      Can I have pixmap backgrounds in XEmacs?
161
162 The Modeline:
163 * Q3.3.1::      How can I make the modeline go away?
164 * Q3.3.2::      How do you have XEmacs display the line number in the modeline?
165 * Q3.3.3::      How do I get XEmacs to put the time of day on the modeline?
166 * Q3.3.4::      How do I turn off current chapter from AUC TeX modeline?
167 * Q3.3.5::      How can one change the modeline color based on the mode used?
168
169 Multiple Device Support:
170 * Q3.4.1::      How do I open a frame on another screen of my multi-headed display?
171 * Q3.4.2::      Can I really connect to a running XEmacs after calling up over a modem?  How?
172
173 The Keyboard:
174 * Q3.5.1::      How can I bind complex functions (or macros) to keys?
175 * Q3.5.2::      How can I stop down-arrow from adding empty lines to the bottom of my buffers?
176 * Q3.5.3::      How do I bind C-. and C-; to scroll one line up and down?
177 * Q3.5.4::      Globally binding Delete?
178 * Q3.5.5::      Scrolling one line at a time.
179 * Q3.5.6::      How to map Help key alone on Sun type4 keyboard?
180 * Q3.5.7::      How can you type in special characters in XEmacs?
181 * Q3.5.8::      [This question intentionally left blank]
182 * Q3.5.9::      How do I make the Delete key delete forward?
183 * Q3.5.10::     Can I turn on "sticky" modifier keys?
184 * Q3.5.11::     How do I map the arrow keys?
185
186 The Cursor:
187 * Q3.6.1::      Is there a way to make the bar cursor thicker?
188 * Q3.6.2::      Is there a way to get back the old block cursor where the cursor covers the character in front of the point?
189 * Q3.6.3::      Can I make the cursor blink?
190
191 The Mouse and Highlighting:
192 * Q3.7.1::      How can I turn off Mouse pasting?
193 * Q3.7.2::      How do I set control/meta/etc modifiers on mouse buttons?
194 * Q3.7.3::      Clicking the left button does not do anything in buffer list.
195 * Q3.7.4::      How can I get a list of buffers when I hit mouse button 3?
196 * Q3.7.5::      Why does cut-and-paste not work between XEmacs and a cmdtool?
197 * Q3.7.6::      How I can set XEmacs up so that it pastes where the text cursor is?
198 * Q3.7.7::      How do I select a rectangular region?
199 * Q3.7.8::      Why does M-w take so long?
200
201 The Menubar and Toolbar:
202 * Q3.8.1::      How do I get rid of the menu (or menubar)?
203 * Q3.8.2::      Can I customize the basic menubar?
204 * Q3.8.3::      How do I control how many buffers are listed in the menu `Buffers' list?
205 * Q3.8.4::      Resources like `Emacs*menubar*font' are not working?
206 * Q3.8.5::      How can I bind a key to a function to toggle the toolbar?
207
208 Scrollbars:
209 * Q3.9.1::      How can I disable the scrollbar?
210 * Q3.9.2::      How can one use resources to change scrollbar colors?
211 * Q3.9.3::      Moving the scrollbar can move the point; can I disable this?
212 * Q3.9.4::      How can I turn off automatic horizontal scrolling in specific modes?
213
214 Text Selections:
215 * Q3.10.1::     How can I turn off or change highlighted selections?
216 * Q3.10.2::     How do I get that typing on an active region removes it?
217 * Q3.10.3::     Can I turn off the highlight during isearch?
218 * Q3.10.4::     How do I turn off highlighting after C-x C-p (mark-page)?
219 * Q3.10.5::     The region disappears when I hit the end of buffer while scrolling.
220 * Q3.10.6::     Why is killing so slow?
221
222 Major Subsystems
223
224 * Q4.0.1::      How do I set up VM to retrieve remote mail using POP?
225 * Q4.0.2::      How do I get VM to filter mail for me?
226 * Q4.0.3::      How can I get VM to automatically check for new mail?
227 * Q4.0.4::      [This question intentionally left blank]
228 * Q4.0.5::      How do I get my outgoing mail archived?
229 * Q4.0.6::      I have various addresses at which I receive mail.  How can I tell VM to ignore them when doing a "reply-all"?
230 * Q4.0.7::      Is there a mailing list or FAQ for VM?
231 * Q4.0.8::      Remote mail reading with VM.
232 * Q4.0.9::      rmail or VM gets an error incorporating new mail.
233 * Q4.0.10::     How do I make VM stay in a single frame?
234 * Q4.0.11::     How do I make VM or mh-e display graphical smilies?
235 * Q4.0.12::     Customization of VM not covered in the manual or here.
236
237 Web browsing with W3:
238 * Q4.1.1::      What is W3?
239 * Q4.1.2::      How do I run W3 from behind a firewall?
240 * Q4.1.3::      Is it true that W3 supports style sheets and tables?
241
242 Reading Netnews and Mail with Gnus:
243 * Q4.2.1::      GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
244 * Q4.2.2::      [This question intentionally left blank]
245 * Q4.2.3::      How do I make Gnus stay within a single frame?
246 * Q4.2.4::      How do I customize the From: line?
247
248 Other Mail & News:
249 * Q4.3.1::      How can I read and/or compose MIME messages?
250 * Q4.3.2::      What is TM and where do I get it?
251 * Q4.3.3::      Why isn't this `movemail' program working?
252 * Q4.3.4::      Movemail is also distributed by Netscape?  Can that cause problems?
253 * Q4.3.5::      Where do I find pstogif (required by tm)?
254
255 Sparcworks, EOS, and WorkShop:
256 * Q4.4.1::      What is SPARCworks, EOS, and WorkShop
257 * Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
258
259 Energize:
260 * Q4.5.1::      What is/was Energize?
261
262 Infodock:
263 * Q4.6.1::      What is Infodock?
264
265 Other Unbundled Packages:
266 * Q4.7.1::      What is AUC TeX?  Where do you get it?
267 * Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
268 * Q4.7.3::      [This question intentionally left blank]
269 * Q4.7.4::      Problems installing AUC TeX
270 * Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
271 * Q4.7.6::      Is there a MatLab mode?
272 * Q4.7.7::      Can I edit files on other hosts?
273
274 The Miscellaneous Stuff
275
276 * Q5.0.1::      How can I do source code highlighting using font-lock?
277 * Q5.0.2::      I do not like cc-mode.  How do I use the old c-mode?
278 * Q5.0.3::      How do I get `More' Syntax Highlighting on by default?
279 * Q5.0.4::      How can I enable auto-indent and/or Filladapt?
280 * Q5.0.5::      How can I get XEmacs to come up in text/auto-fill mode by default?
281 * Q5.0.6::      How do I start up a second shell buffer?
282 * Q5.0.7::      Telnet from shell filters too much.
283 * Q5.0.8::      Why does edt emulation not work?
284 * Q5.0.9::      How can I emulate VI and use it as my default mode?
285 * Q5.0.10::     [This question intentionally left blank]
286 * Q5.0.11::     [This question intentionally left blank]
287 * Q5.0.12::     How do I disable gnuserv from opening a new frame?
288 * Q5.0.13::     How do I start gnuserv so that each subsequent XEmacs is a client?
289 * Q5.0.14::     Strange things are happening in Shell Mode.
290 * Q5.0.15::     Where do I get the latest CC Mode?
291 * Q5.0.16::     I find auto-show-mode disconcerting.  How do I turn it off?
292 * Q5.0.17::     How can I get two instances of info?
293 * Q5.0.18::     [This question intentionally left blank]
294 * Q5.0.19::     Is there something better than LaTeX mode?
295 * Q5.0.20::     Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
296
297 Emacs Lisp Programming Techniques:
298 * Q5.1.1::      The difference in key sequences between XEmacs and GNU Emacs?
299 * Q5.1.2::      Can I generate "fake" keyboard events?
300 * Q5.1.3::      Could you explain `read-kbd-macro' in more detail?
301 * Q5.1.4::      What is the performance hit of `let'?
302 * Q5.1.5::      What is the recommended use of `setq'?
303 * Q5.1.6::      What is the typical misuse of `setq' ?
304 * Q5.1.7::      I like the `do' form of cl, does it slow things down?
305 * Q5.1.8::      I like recursion, does it slow things down?
306 * Q5.1.9::      How do I put a glyph as annotation in a buffer?
307 * Q5.1.10::     `map-extents' won't traverse all of my extents!
308 * Q5.1.11::     My elisp program is horribly slow.  Is there an easy way to find out where it spends time?
309
310 Sound:
311 * Q5.2.1::      How do I turn off the sound?
312 * Q5.2.2::      How do I get funky sounds instead of a boring beep?
313 * Q5.2.3::      What's NAS, how do I get it?
314 * Q5.2.4::      Sunsite sounds don't play.
315
316 Miscellaneous:
317 * Q5.3.1::      How do you make XEmacs indent CL if-clauses correctly?
318 * Q5.3.2::      [This question intentionally left blank]
319 * Q5.3.3::      How can I print WYSIWYG a font-locked buffer?
320 * Q5.3.4::      Getting M-x lpr to work with postscript printer.
321 * Q5.3.5::      How do I specify the paths that XEmacs uses for finding files?
322 * Q5.3.6::      [This question intentionally left blank]
323 * Q5.3.7::      Can I have the end of the buffer delimited in some way?
324 * Q5.3.8::      How do I insert today's date into a buffer?
325 * Q5.3.9::      Are only certain syntactic character classes available for abbrevs?
326 * Q5.3.10::     How can I get those oh-so-neat X-Face lines?
327 * Q5.3.11::     How do I add new Info directories?
328 * Q5.3.12::     What do I need to change to make printing work?
329
330 XEmacs on MS Windows
331
332 General Info:
333 * Q6.0.1::      What is the status of the XEmacs port to Windows?
334 * Q6.0.2::      What flavors of MS Windows are supported?  The list name implies NT only.
335 * Q6.0.3::      Are binaries available?
336 * Q6.0.4::      Can I build XEmacs on MS Windows with X support?  Do I need to?
337 * Q6.0.5::      I'd like to help out.  What do I do?
338 * Q6.0.6::      What are Cygwin and MinGW, and do I need them to run XEmacs?
339 * Q6.0.7::      What exactly are all the different ways to build XEmacs under Windows?
340
341 Building XEmacs on MS Windows:
342 * Q6.1.1::      What compiler/libraries do I need to compile XEmacs?
343 * Q6.1.2::      How do I compile the native port?
344 * Q6.1.3::      What do I need for Cygwin?
345 * Q6.1.4::      How do I compile under Cygwin?
346 * Q6.1.5::      How do I compile using MinGW (aka `the -mno-cygwin flag to gcc')?
347 * Q6.1.6::      I decided to run with X.  Where do I get an X server?
348 * Q6.1.7::      How do I compile with X support?
349
350 Customization and User Interface:
351 * Q6.2.1::      How does the port cope with differences in the Windows user interface?
352 * Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
353 * Q6.2.3::      Where do I put my `init.el'/`.emacs' file?
354 * Q6.2.4::      How do I get Windows Explorer to associate a file type with XEmacs?
355 * Q6.2.5::      Is it possible to print from XEmacs?
356
357 Miscellaneous:
358 * Q6.3.1::      Does XEmacs rename all the `win32-*' symbols to `w32-*'?
359 * Q6.3.2::      What are the differences between the various MS Windows emacsen?
360 * Q6.3.3::      XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
361 * Q6.3.4::      What is the porting team doing at the moment?
362
363 Troubleshooting:
364 * Q6.4.1::      XEmacs won't start on Windows.
365 * Q6.4.2::      Why do I get a blank toolbar on Windows 95?
366 * Q6.4.3::      XEmacs complains "No such file or directory, diff"
367
368 What the Future Holds
369
370 * Q7.0.1::      What new features will be in XEmacs soon?
371 * Q7.0.2::      What's new in XEmacs 21.4?
372 * Q7.0.3::      What's new in XEmacs 21.1?
373 * Q7.0.4::      What's new in XEmacs 20.4?
374 * Q7.0.5::      What's new in XEmacs 20.3?
375 * Q7.0.6::      What's new in XEmacs 20.2?
376
377 New information about old XEmacsen.
378
379 XEmacs 21.1:
380 * Q8.0.1::      Gnus 5.10 won't display smileys in XEmacs 21.1.
381
382 \1f
383 File: xemacs-faq.info,  Node: Introduction,  Next: Installation,  Prev: Top,  Up: Top
384
385 1 Introduction, Policy, Credits
386 *******************************
387
388 Learning XEmacs is a lifelong activity.  Even people who have used Emacs
389 for years keep discovering new features.  Therefore this document cannot
390 be complete.  Instead it is aimed at the person who is either
391 considering XEmacs for their own use, or has just obtained it and is
392 wondering what to do next.  It is also useful as a reference to
393 available resources.
394
395    The previous maintainer of the FAQ was Anthony Rossini
396 <rossini@biostat.washington.edu>, who started it, after getting tired
397 of hearing JWZ complain about repeatedly having to answer questions.
398 Ben Wing <ben@xemacs.org> and Chuck Thompson <cthomp@xemacs.org>, the
399 principal authors of XEmacs, then took over and Ben did a massive
400 update reorganizing the whole thing.  At which point Anthony took back
401 over, but then had to give it up again.  Some of the other contributors
402 to this FAQ are listed later in this document.
403
404    The previous version was converted to hypertext format, and edited by
405 Steven L. Baur <steve@xemacs.org>.  It was converted back to texinfo by
406 Hrvoje Niksic <hniksic@xemacs.org>.  The FAQ was then maintained by
407 Andreas Kaempf <andreas@sccon.com>, who passed it on to ChristianNyb/o.
408
409    If you notice any errors or items which should be added or amended to
410 this FAQ please send email to Sandra Wambold <faq@xemacs.org>.  Include
411 `XEmacs FAQ' on the Subject: line.
412
413 * Menu:
414
415 Introduction:
416 * Q1.0.1::      What is XEmacs?
417 * Q1.0.2::      What is the current version of XEmacs?
418 * Q1.0.3::      Where can I find it?
419 * Q1.0.4::      Why Another Version of Emacs?
420 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
421 * Q1.0.6::      Where can I get help?
422 * Q1.0.7::      Where are the mailing lists archived?
423 * Q1.0.8::      How do you pronounce XEmacs?
424 * Q1.0.9::      What does XEmacs look like?
425 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
426 * Q1.0.11::     Is there a port of XEmacs to the Macintosh?
427 * Q1.0.12::     Is there a port of XEmacs to NextStep?
428 * Q1.0.13::     Is there a port of XEmacs to OS/2?
429 * Q1.0.14::     Where can I get a printed copy of the XEmacs users manual?
430
431 Policies:
432 * Q1.1.1::      What is the FAQ editorial policy?
433 * Q1.1.2::      How do I become a Beta Tester?
434 * Q1.1.3::      How do I contribute to XEmacs itself?
435
436 Credits:
437 * Q1.2.1::      Who wrote XEmacs?
438 * Q1.2.2::      Who contributed to this version of the FAQ?
439 * Q1.2.3::      Who contributed to the FAQ in the past?
440
441 Internationalization:
442 * Q1.3.1::      What is the status of internationalization support aka MULE (including Asian language support?
443 * Q1.3.2::      How can I help with internationalization?
444 * Q1.3.3::      How do I type non-ASCII characters?
445 * Q1.3.4::      Can XEmacs messages come out in a different language?
446 * Q1.3.5::      Please explain the various input methods in MULE/XEmacs
447 * Q1.3.6::      How do I portably code for MULE/XEmacs?
448 * Q1.3.7::      How about Cyrillic Modes?
449 * Q1.3.8::      Does XEmacs support Unicode?
450 * Q1.3.9::      How does XEmacs display Unicode?
451
452 Getting Started:
453 * Q1.4.1::      What is an `init.el' or `.emacs' and is there a sample one?
454 * Q1.4.2::      Can I use the same `init.el'/`.emacs' with the other Emacs?
455 * Q1.4.3::      Any good XEmacs tutorials around?
456 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
457 * Q1.4.5::      And how do I bind it to a key?
458 * Q1.4.6::      What's the difference between a macro and a function?
459
460 \1f
461 File: xemacs-faq.info,  Node: Q1.0.1,  Next: Q1.0.2,  Prev: Introduction,  Up: Introduction
462
463 1.0: Introduction
464 =================
465
466 Q1.0.1: What is XEmacs?
467 -----------------------
468
469 XEmacs is a powerful, highly customizable open source text editor and
470 application development system, with full GUI support.  It is protected
471 under the GNU Public License and related to other versions of Emacs, in
472 particular GNU Emacs.  Its emphasis is on modern graphical user
473 interface support and an open software development model, similar to
474 Linux.  XEmacs has an active development community numbering in the
475 hundreds (and thousands of active beta testers on top of this), and runs
476 on all versions of MS Windows, on Linux, and on nearly every other
477 version of Unix in existence.  Support for XEmacs has been supplied by
478 Sun Microsystems, University of Illinois, Lucid, ETL/Electrotechnical
479 Laboratory, Amdahl Corporation, BeOpen, and others, as well as the
480 unpaid time of a great number of individual developers.
481
482 \1f
483 File: xemacs-faq.info,  Node: Q1.0.2,  Next: Q1.0.3,  Prev: Q1.0.1,  Up: Introduction
484
485 Q1.0.2: What is the current version of XEmacs?
486 ----------------------------------------------
487
488 XEmacs versions 21.1.* are releases made from the current stable
489 sources.  XEmacs versions 21.2.* are releases made from the development
490 sources.  Check at `http://www.xemacs.org' for the current minor
491 version.
492
493    XEmacs 19.16 was the last release of v19, released in November, 1997,
494 which was also the last version without international language support.
495
496 \1f
497 File: xemacs-faq.info,  Node: Q1.0.3,  Next: Q1.0.4,  Prev: Q1.0.2,  Up: Introduction
498
499 Q1.0.3: Where can I find it?
500 ----------------------------
501
502 The canonical source and binaries can be found via anonymous FTP at:
503
504      `ftp://ftp.xemacs.org/pub/xemacs/'
505
506 \1f
507 File: xemacs-faq.info,  Node: Q1.0.4,  Next: Q1.0.5,  Prev: Q1.0.3,  Up: Introduction
508
509 Q1.0.4: Why Another Version of Emacs?
510 -------------------------------------
511
512 For a detailed description of the differences between GNU Emacs and
513 XEmacs and a detailed history of XEmacs, check out the
514      NEWS file (http://www.xemacs.org/About/XEmacsVsGNUemacs.html)
515
516    However, here is a list of some of the reasons why we think you might
517 consider using it:
518
519    * It looks nicer.
520
521    * The XEmacs maintainers are generally more receptive to suggestions
522      than the GNU Emacs maintainers.
523
524    * Many more bundled packages than GNU Emacs.
525
526    * Binaries are available for many common operating systems.
527
528    * Face support on TTY's.
529
530    * A built-in toolbar.
531
532    * Better Motif compliance.
533
534    * Some internationalization support (including full MULE support, if
535      compiled with it).
536
537    * Variable-width fonts.
538
539    * Variable-height lines.
540
541    * Marginal annotations.
542
543    * ToolTalk support.
544
545    * XEmacs can be used as an Xt widget, and can be embedded within
546      another application.
547
548    * Horizontal and vertical scrollbars (using real toolkit scrollbars).
549
550    * Better APIs (and performance) for attaching fonts, colors, and
551      other properties to text.
552
553    * The ability to embed arbitrary graphics in a buffer.
554
555    * Completely compatible (at the C level) with the Xt-based toolkits.
556
557
558 \1f
559 File: xemacs-faq.info,  Node: Q1.0.5,  Next: Q1.0.6,  Prev: Q1.0.4,  Up: Introduction
560
561 Q1.0.5: Why Haven't XEmacs and GNU Emacs Merged?
562 ------------------------------------------------
563
564 There are currently irreconcilable differences in the views about
565 technical, programming, design and organizational matters between RMS
566 and the XEmacs development team which provide little hope for a merge to
567 take place in the short-term future.
568
569    If you have a comment to add regarding the merge, it is a good idea
570 to avoid posting to the newsgroups,  because of the very heated
571 flamewars that often result.  Mail your questions to
572 <xemacs-beta@xemacs.org> and <bug-gnu-emacs@prep.ai.mit.edu>.
573
574 \1f
575 File: xemacs-faq.info,  Node: Q1.0.6,  Next: Q1.0.7,  Prev: Q1.0.5,  Up: Introduction
576
577 Q1.0.6: Where can I get help?
578 -----------------------------
579
580 Probably the easiest way, if everything is installed, is to use Info, by
581 pressing `C-h i', or looking for an Info item on the Help Menu.  `M-x
582 apropos' can be used to look for particular commands.
583
584    For items not found in the manual, try reading this FAQ and reading
585 the Usenet group comp.emacs.xemacs.
586
587    If you choose to post to a newsgroup, *please use
588 comp.emacs.xemacs*.  Please do not post XEmacs related questions to
589 gnu.emacs.help.
590
591    If you cannot post or read Usenet news, there is a corresponding
592 mailing list <xemacs-news@xemacs.org> which is available.  It can be
593 subscribed to via the Mailman Web interface or by sending mail to to
594 <xemacs-news-request@xemacs.org> with `subscribe' in the body of the
595 message.  See also `http://www.xemacs.org/Lists/#xemacs-news'.  To
596 cancel a subscription, you may use the <xemacs-news-request@xemacs.org>
597 address or the Web interface.  Send a message with a subject of
598 `unsubscribe' to be removed.
599
600 \1f
601 File: xemacs-faq.info,  Node: Q1.0.7,  Next: Q1.0.8,  Prev: Q1.0.6,  Up: Introduction
602
603 Q1.0.7: Where are the mailing lists archived?
604 ---------------------------------------------
605
606 The archives can be found at `http://list-archive.xemacs.org'
607
608 \1f
609 File: xemacs-faq.info,  Node: Q1.0.8,  Next: Q1.0.9,  Prev: Q1.0.7,  Up: Introduction
610
611 Q1.0.8: How do you pronounce XEmacs?
612 ------------------------------------
613
614 The most common pronounciation is `Eks eemax'.
615
616 \1f
617 File: xemacs-faq.info,  Node: Q1.0.9,  Next: Q1.0.10,  Prev: Q1.0.8,  Up: Introduction
618
619 Q1.0.9: What does XEmacs look like?
620 -----------------------------------
621
622 Screen snapshots are available at
623 `http://www.xemacs.org/About/Screenshots/index.html' as part of the
624 XEmacs website.
625
626 \1f
627 File: xemacs-faq.info,  Node: Q1.0.10,  Next: Q1.0.11,  Prev: Q1.0.9,  Up: Introduction
628
629 Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)?
630 ------------------------------------------------------------
631
632 Yes.  XEmacs can be built under MS Windows and is fully-featured and
633 actively developed.  See *Note MS Windows::.
634
635 \1f
636 File: xemacs-faq.info,  Node: Q1.0.11,  Next: Q1.0.12,  Prev: Q1.0.10,  Up: Introduction
637
638 Q1.0.11: Is there a port of XEmacs to the Macintosh?
639 ----------------------------------------------------
640
641 Yes.
642
643    XEmacs 21.5 (perhaps 21.4 also?) works on MacOS X, although it
644 certainly will not feel very much like a Mac application as it has no
645 Mac-specific code in it.
646
647    There is also a port of XEmacs 19.14 that works on all recent
648 versions of MacOS, from 8.1 through MacOS X, by Pitts Jarvis
649 <pjarvis@ispchannel.com>.  It runs in an equivalent of TTY mode only
650 (one single Macintosh window, 25 colors), but has a large number of
651 Mac-specific additions.  It's available at
652 `http://homepage.mac.com/pjarvis/xemacs.html'.
653
654 \1f
655 File: xemacs-faq.info,  Node: Q1.0.12,  Next: Q1.0.13,  Prev: Q1.0.11,  Up: Introduction
656
657 Q1.0.12: Is there a port of XEmacs to NextStep?
658 -----------------------------------------------
659
660 Carl Edman, apparently no longer at <cedman@princeton.edu>, did the
661 port of GNU Emacs to NeXTstep and expressed interest in doing the
662 XEmacs port, but never went any farther.
663
664 \1f
665 File: xemacs-faq.info,  Node: Q1.0.13,  Next: Q1.0.14,  Prev: Q1.0.12,  Up: Introduction
666
667 Q1.0.13: Is there a port of XEmacs to OS/2?
668 -------------------------------------------
669
670 No, but Alexander Nikolaev <avn_1251@mail.ru> is working on it.
671
672 \1f
673 File: xemacs-faq.info,  Node: Q1.0.14,  Next: Q1.1.1,  Prev: Q1.0.13,  Up: Introduction
674
675 Q1.0.14: Where can I obtain a printed copy of the XEmacs User's Manual?
676 -----------------------------------------------------------------------
677
678 Pre-printed manuals are not available.  If you are familiar with TeX,
679 you can generate your own manual from the XEmacs sources.
680
681    HTML and Postscript versions of XEmacs manuals are available from the
682 XEmacs web site at `http://www.xemacs.org/Documentation/index.html'.
683
684 \1f
685 File: xemacs-faq.info,  Node: Q1.1.1,  Next: Q1.1.2,  Prev: Q1.0.14,  Up: Introduction
686
687 1.1: Policies
688 =============
689
690 Q1.1.1: What is the FAQ editorial policy?
691 -----------------------------------------
692
693 The FAQ is actively maintained and modified regularly.  All links should
694 be up to date.  Unfortunately, some of the information is out of date -
695 a situation which the FAQ maintainer is working on.  All submissions are
696 welcome, please e-mail submissions to XEmacs FAQ maintainers
697 <faq@xemacs.org>.
698
699    Please make sure that `XEmacs FAQ' appears on the Subject: line.  If
700 you think you have a better way of answering a question, or think a
701 question should be included, we'd like to hear about it.  Questions and
702 answers included into the FAQ will be edited for spelling and grammar
703 and will be attributed.  Answers appearing without attribution are
704 either from versions of the FAQ dated before May 1996 or are from
705 previous FAQ maintainers.  Answers quoted from Usenet news articles will
706 always be attributed, regardless of the author.
707
708 \1f
709 File: xemacs-faq.info,  Node: Q1.1.2,  Next: Q1.1.3,  Prev: Q1.1.1,  Up: Introduction
710
711 Q1.1.2: How do I become a Beta Tester?
712 --------------------------------------
713
714 Send an email message to <xemacs-beta-request@xemacs.org> with the line
715 `subscribe' in the body of the message.
716
717    Be prepared to get your hands dirty, as beta testers are expected to
718 identify problems as best they can.
719
720 \1f
721 File: xemacs-faq.info,  Node: Q1.1.3,  Next: Q1.2.1,  Prev: Q1.1.2,  Up: Introduction
722
723 Q1.1.3: How do I contribute to XEmacs itself?
724 ---------------------------------------------
725
726 Ben Wing <ben@xemacs.org> writes:
727
728      BTW if you have a wish list of things that you want added, you
729      have to speak up about it!  More specifically, you can do the
730      following if you want a feature added (in increasing order of
731      usefulness):
732
733         * Make a posting about a feature you want added.
734
735         * Become a beta tester and make more postings about those same
736           features.
737
738         * Convince us that you're going to use the features in some
739           cool and useful way.
740
741         * Come up with a clear and well-thought-out API concerning the
742           features.
743
744         * Write the code to implement a feature and send us a patch.
745
746      (not that we're necessarily requiring you to write the code, but
747      we can always hope :)
748
749 \1f
750 File: xemacs-faq.info,  Node: Q1.2.1,  Next: Q1.2.2,  Prev: Q1.1.3,  Up: Introduction
751
752 1.2: Credits
753 ============
754
755 Q1.2.1: Who wrote XEmacs?
756 -------------------------
757
758 XEmacs is the result of the time and effort of many people.  The
759 developers responsible for recent releases are:
760
761    * Martin Buchholz <martin@xemacs.org>
762
763    * Stephen Turnbull <stephen@xemacs.org>
764
765    * Ben Wing <ben@xemacs.org>
766
767    * Hrvoje Niksic <hniksic@xemacs.org>
768
769
770    The developers responsible for older releases were:
771
772    * Steve Baur <steve@xemacs.org>
773
774    * Chuck Thompson <cthomp@xemacs.org>
775
776    * Jamie Zawinski <jwz@jwz.org>
777
778    * Richard Mlynarik <mly@adoc.xerox.com>
779
780      Steve Baur was the primary maintainer for 19.15 through 21.0.
781
782      Chuck Thompson and Ben Wing were the maintainers for 19.11 through
783      19.14 and heavy code contributors for 19.8 through 19.10.
784
785      Jamie Zawinski was the maintainer for 19.0 through 19.10 (the
786      entire history of Lucid Emacs).  Richard Mlynarik was a heavy code
787      contributor to 19.6 through 19.8.
788
789
790    Along with many other contributors, partially enumerated in the
791 `About XEmacs' option in the Help menu.
792
793 \1f
794 File: xemacs-faq.info,  Node: Q1.2.2,  Next: Q1.2.3,  Prev: Q1.2.1,  Up: Introduction
795
796 Q1.2.2: Who contributed to this version of the FAQ?
797 ---------------------------------------------------
798
799 The following people contributed valuable suggestions to building this
800 version of the FAQ (listed in alphabetical order):
801
802    * SL Baur <steve@xemacs.org>
803
804    * Hrvoje Niksic <hniksic@xemacs.org>
805
806    * Aki Vehtari <Aki.Vehtari@hut.fi>
807
808
809 \1f
810 File: xemacs-faq.info,  Node: Q1.2.3,  Next: Q1.3.1,  Prev: Q1.2.2,  Up: Introduction
811
812 Q1.2.3: Who contributed to the FAQ in the past?
813 -----------------------------------------------
814
815 This is only a partial list, as many names were lost in a hard disk
816 crash some time ago.
817
818    * Curtis.N.Bingham <binge@aloft.att.com>
819
820    * Georges Brun-Cottan <bruncott@dormeur.inria.fr>
821
822    * Richard Caley <rjc@cogsci.ed.ac.uk>
823
824    * Richard Cognot <cognot@ensg.u-nancy.fr>
825
826    * Mark Daku <daku@nortel.ca>
827
828    * William G. Dubuque <wgd@martigny.ai.mit.edu>
829
830    * Eric Eide <eeide@cs.utah.edu>
831
832    * Alain Fauconnet <af@biomath.jussieu.fr>
833
834    * Chris Flatters <cflatter@nrao.edu>
835
836    * Evelyn Ginsparg <ginsparg@adra.com>
837
838    * Marty Hall <hall@aplcenmp.apl.jhu.edu>
839
840    * Darrell Kindred <dkindred@cmu.edu>
841
842    * David Moore <dmoore@ucsd.edu>
843
844    * Arup Mukherjee <arup+@cmu.edu>
845
846    * Juergen Nickelsen <nickel@prz.tu-berlin.de>
847
848    * Kevin R. Powell <powell@csl.ncsa.uiuc.edu>
849
850    * Justin Sheehy <dworkin@ccs.neu.edu>
851
852    * Stig <stig@hackvan.com>
853
854    * Aki Vehtari <Aki.Vehtari@hut.fi>
855
856 \1f
857 File: xemacs-faq.info,  Node: Q1.3.1,  Next: Q1.3.2,  Prev: Q1.2.3,  Up: Introduction
858
859 1.3: Internationalization
860 =========================
861
862 Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support?
863 ------------------------------------------------------------------------------------------------------
864
865 Both the stable and development versions of XEmacs include
866 internationalization support (aka MULE).  MULE currently (21.4) works on
867 UNIX and Linux systems.  It is possible to build with MULE on Windows
868 systems, but if you really need MULE on Windows, it is recommended that
869 you build and use the development (21.5) version, and deal with the
870 instability of the development tree.  Binaries compiled without MULE
871 support run faster than MULE capable XEmacsen.
872
873 \1f
874 File: xemacs-faq.info,  Node: Q1.3.2,  Next: Q1.3.3,  Prev: Q1.3.1,  Up: Introduction
875
876 Q1.3.2: How can I help with internationalization?
877 -------------------------------------------------
878
879 If you would like to help, you may want to join the
880 <xemacs-mule@xemacs.org> mailing list.  Especially needed are people
881 who speak/write languages other than English, who are willing to use
882 XEmacs/MULE regularly, and have some experience with Elisp.
883
884    Translations of the TUTORIAL and man page are welcome, and XEmacs
885 does support multilingual menus, but we have few current translations.
886
887    *Note Q1.1.2::.
888
889 \1f
890 File: xemacs-faq.info,  Node: Q1.3.3,  Next: Q1.3.4,  Prev: Q1.3.2,  Up: Introduction
891
892 Q1.3.3: How do I type non-ASCII characters?
893 -------------------------------------------
894
895 See question 3.5.7 (*note Q3.5.7::) in part 3 of this FAQ for some
896 simple methods that also work in non-MULE builds of XEmacs (but only for
897 one-octet coded character sets, and mostly for ISO 8859/1).  Many of the
898 methods available for Cyrillic (*note Q1.3.7::) work without MULE.
899 MULE has more general capabilities.  *Note Q1.3.5::.
900
901    *Note Q3.2.7::, which covers display of non-ASCII characters.
902
903 \1f
904 File: xemacs-faq.info,  Node: Q1.3.4,  Next: Q1.3.5,  Prev: Q1.3.3,  Up: Introduction
905
906 Q1.3.4: Can XEmacs messages come out in a different language?
907 -------------------------------------------------------------
908
909 The message-catalog support was written but is badly bit-rotted.  XEmacs
910 20 and 21 did _not_ support it, and early releases of XEmacs 22 will
911 not either.
912
913    However, menubar localization _does_ work.  To enable it, add to
914 your `Emacs' file entries like this:
915
916      Emacs*XlwMenu.resourceLabels:                   True
917      Emacs*XlwMenu.file.labelString:                 Fichier
918      Emacs*XlwMenu.openInOtherWindow.labelString:       In anderem Fenster oeffnen
919
920    The name of the resource is derived from the non-localized entry by
921 removing punctuation and capitalizing as above.
922
923 \1f
924 File: xemacs-faq.info,  Node: Q1.3.5,  Next: Q1.3.6,  Prev: Q1.3.4,  Up: Introduction
925
926 Q1.3.5: Please explain the various input methods in MULE/XEmacs
927 ---------------------------------------------------------------
928
929 Mule supports a wide variety of input methods.  There are three basic
930 classes: Lisp implementations, generic platform support, and library
931 interfaces.
932
933    _Lisp implementations_ include Quail, which provides table-driven
934 input methods for almost all the character sets that Mule supports
935 (including all of the ISO 8859 family, the Indic languages, Thai, and
936 so on), and SKK, for Japanese.  (SKK also supports an interface to an
937 external "dictionary server" process.)  Quail supports both typical
938 "dead-key" methods (eg, in the "latin-1-prefix" method, `" a' produces
939 ä, LATIN SMALL LETTER A WITH DIAERESIS), and the complex
940 dictionary-based phonetic methods used for Asian ideographic languages
941 like Chinese.
942
943    Lisp implementations can be less powerful (but they are not
944 perceptibly inefficient), and of course are not portable to non-Emacs
945 applications.  The incompatibility can be very annoying.  On the other
946 hand, they require no special platform support or external libraries,
947 so if you can display the characters, Mule can input them for you and
948 you can edit, anywhere.
949
950    _Generic platform support_ is currently limited to the X Input
951 Method (XIM) framework, although support for MSIME (for MS Windows) is
952 planned, and IIIMF (Sun's Internet-Intranet Input Method Framework)
953 support is extremely desirable.  XIM is enabled at build time by use of
954 the `--with-xim' flag to `configure'.  For use of XIM, see your
955 platform documentation.  However, normally the input method you use is
956 specified via the `LANG' and `XMODIFIERS' environment variables.
957
958    Of course, input skills are portable across most applications.
959 However, especially in modern GUI systems the habit of using bucky bits
960 has fallen into sad disuse, and many XIM systems are poorly configured
961 for use with Emacs.  For example, the kinput2 input manager (a separate
962 process providing an interface between Japanese dictionary servers such
963 as Canna and Wnn, and the application) tends to gobble up keystrokes
964 generating Meta characters.  This means that to edit while using an XIM
965 input method, you must toggle the input method off every time you want
966 to use `M-f'.  Your mileage may vary.
967
968    _Library interfaces_ are most common for Japanese, although Wnn
969 supports Chinese (traditional and simplified) and Korean.  There are
970 Chinese and Korean input servers available, but we do not know of any
971 patches for XEmacs to use them directly.  You can use them via
972 IM-enabled terminals, by manipulating the terminal coding systems.  We
973 describe only the Japanese-oriented systems here.  The advantage of
974 these systems is that they are very powerful, and on platforms where
975 they are available there is typically a wide range of applications that
976 support them.  Thus your input skills are portable across applications.
977
978    Mule provides built-in interfaces to the following input methods:
979 Wnn4, Wnn6, Canna, and SJ3.  These can be configured at build time.
980 There are patches available (no URL, sorry) to support the SKK server,
981 as well.  Wnn and SJ3 use the `egg' user interface.  The interface for
982 Canna is specialized to Canna.
983
984    Wnn supports Japanese, Chinese and Korean. It is made by OMRON and
985 Kyôto University. It is a powerful and complex system.  Wnn4 is free
986 and Wnn6 is not.  Wnn uses grammatical hints and probability of word
987 association, so in principle Wnn can be cleverer than other methods.
988
989    Canna, made by NEC, supports only Japanese.  It is a simple and
990 powerful system. Canna uses only grammar, but its grammar and
991 dictionary are quite sophisticated.  So for standard modern Japanese,
992 Canna seems cleverer than Wnn4. In addition, the UNIX version of Canna
993 is free (now there is a Microsoft Windows version).
994
995    SJ3, by Sony, supports only Japanese.
996
997    Egg consists of following parts:
998
999   1. Input character Translation System (ITS) layer.  It translates
1000      ASCII inputs to Kana/PinYin/Hangul characters.
1001
1002   2. Kana/PinYin/Hangul to Kanji transfer layer.  The interface layer
1003      to network Kana-Kanji server (Wnn and Sj3).
1004
1005    These input methods are modal.  They have a raw (alphabet) mode, a
1006 phonetic input mode, and Kana-Kanji transfer mode.  However there are
1007 mode-less input methods for Egg and Canna.  `boiled-egg' is a mode-less
1008 input method running on Egg.  For Canna, `canna.el' has a tiny
1009 boiled-egg-like command, `(canna-boil)', and there are some
1010 boiled-egg-like utilities.
1011
1012    Much of this information was provided by MORIOKA Tomohiko
1013 <morioka@jaist.ac.jp>.
1014
1015 \1f
1016 File: xemacs-faq.info,  Node: Q1.3.6,  Next: Q1.3.7,  Prev: Q1.3.5,  Up: Introduction
1017
1018 Q1.3.6: How do I portably code for MULE/XEmacs?
1019 -----------------------------------------------
1020
1021 MULE has evolved rapidly over the last few years, and the original third
1022 party patch (for GNU Emacs 19), GNU Emacs 20+, and XEmacs 20+ have quite
1023 different implementations.  The APIs also vary although recent versions
1024 of XEmacs have tended to converge to the GNU Emacs standard.
1025
1026    MULE implementations are going to continue to evolve.  Both GNU Emacs
1027 and XEmacs are working hard on Unicode support, which will involve new
1028 APIs and probably variations on old ones.  For XEmacs 22, the old ISO
1029 2022-based system for recognizing encodings will be replaced by a much
1030 more flexible system, which should improve accuracy of automatic coding
1031 detections, but will also involve new APIs.
1032
1033    MORIOKA Tomohiko <morioka@jaist.ac.jp> writes:
1034
1035      The application implementor must write separate code for these mule
1036      variants.  [Please don't hesitate to report these variants to us;
1037      they are not, strictly speaking, bugs, but they give third-party
1038      developers the same kind of creepy-crawly feeling.  We'll do what
1039      we can. - Ed.]
1040
1041      MULE and the next version of Emacs are similar but the symbols are
1042      very different--requiring separate code as well.
1043
1044      Namely we must support 3 kinds of mule variants and 4 or 5 or 6
1045      kinds of emacs variants... (;_;) I'm shocked, so I wrote a wrapper
1046      package called `emu' to provide a common interface.  [There is an
1047      XEmacs package of APEL which provides much more comprehensive
1048      coverage.  Be careful, however; APEL has problems of its own. -
1049      Ed.]
1050
1051      I have the following suggestions about dealing with mule variants:
1052
1053         * `(featurep 'mule)' `t' on all mule variants
1054
1055         * `(boundp 'MULE)' is `t' on only MULE.  Maybe the next version
1056           of Emacs will not have this symbol.
1057
1058         * MULE has a variable `mule-version'.  Perhaps the next version
1059           of Emacs will have this variable as well.
1060
1061      Following is a sample to distinguish mule variants:
1062
1063           (if (featurep 'mule)
1064               (cond ((boundp 'MULE)
1065                      ;; for original Mule
1066                      )
1067                     ((string-match "XEmacs" emacs-version)
1068                      ;; for XEmacs with Mule
1069                      )
1070                     (t
1071                      ;; for next version of Emacs
1072                      ))
1073             ;; for old emacs variants
1074             )
1075
1076 \1f
1077 File: xemacs-faq.info,  Node: Q1.3.7,  Next: Q1.3.8,  Prev: Q1.3.6,  Up: Introduction
1078
1079 Q1.3.7: How about Cyrillic Modes?
1080 ---------------------------------
1081
1082 Ilya Zakharevich <ilya@math.ohio-state.edu> writes:
1083
1084      There is a cyrillic mode in the file `mysetup.zip' in
1085      `ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/'.  This is a
1086      modification to Valery Alexeev's <ava@math.jhu.ed> `russian.el'
1087      which can be obtained from
1088
1089    `http://www.math.uga.edu/~valery/russian.el'.
1090
1091    Dima Barsky <d.barsky@ee.surrey.ac.uk> writes:
1092
1093      There is another cyrillic mode for both GNU Emacs and XEmacs by
1094      Dmitrii (Mitya) Manin <manin@camelot.mssm.edu> at
1095      `http://kulichki-lat.rambler.ru/centrolit/manin/cyr.el'.
1096
1097    Rebecca Ore <rebecca.ore@op.net> writes:
1098
1099      The fullest resource I found on Russian language use (in and out of
1100      XEmacs) is `http://www.ibiblio.org/sergei/Software/Software.html'
1101
1102 \1f
1103 File: xemacs-faq.info,  Node: Q1.3.8,  Next: Q1.3.9,  Prev: Q1.3.7,  Up: Introduction
1104
1105 Q1.3.8: Does XEmacs support Unicode?
1106 ------------------------------------
1107
1108 Partially, as an external encoding for files, processes, and terminals.
1109 It does not yet support Unicode fonts *Note Does XEmacs support Unicode
1110 Fonts?: Q1.3.9
1111
1112    To get Unicode support, you need a Mule-enabled XEmacs.  Install
1113 Mule-UCS from packages in the usual way.  Put
1114
1115      (require 'un-define)
1116      (set-coding-priority-list '(utf-8))
1117      (set-coding-category-system 'utf-8 'utf-8)
1118
1119    in your init file to enable the UTF-8 coding system.  You may wish to
1120 view the documentation of `set-coding-priority-list' if you find that
1121 files that are not UTF-8 are being mis-recognized as UTF-8.
1122
1123    Install standard national fonts (not Unicode fonts) for all
1124 character sets you use.  See *Note Q1.3.9::.
1125
1126    Mule-UCS also supports 16-bit forms of Unicode (UTF-16).  It does not
1127 support 31-bit forms of Unicode (UTF-32 or UCS-4).
1128
1129 \1f
1130 File: xemacs-faq.info,  Node: Q1.3.9,  Next: Q1.4.1,  Prev: Q1.3.8,  Up: Introduction
1131
1132 Q1.3.9: How does XEmacs display Unicode?
1133 ----------------------------------------
1134
1135 Mule doesn't have a Unicode charset internally, so there's nothing to
1136 bind a Unicode registry to.  It would not be straightforward to create,
1137 either, because Unicode is not ISO 2022-compatible.  You'd have to
1138 translate it to multiple 96x96 pages.
1139
1140    This means that Mule-UCS uses ordinary national fonts for display.
1141 This is not really a problem, except for those languages that use the
1142 Unified Han characters.  The problem here is that Mule-UCS maps from
1143 Unicode code points to national character sets in a deterministic way.
1144 By default, this means that Japanese fonts are tried first, then
1145 Chinese, then Korean.  To change the priority ordering, use the command
1146 `un-define-change-charset-order'.
1147
1148    It also means you can't use Unicode fonts directly, at least not
1149 without extreme hackery.  You can run -nw with
1150 (set-terminal-coding-system 'utf-8) if you really want a Unicode font
1151 for some reason.
1152
1153    Real Unicode support will be introduced in XEmacs 22.0.
1154
1155 \1f
1156 File: xemacs-faq.info,  Node: Q1.4.1,  Next: Q1.4.2,  Prev: Q1.3.9,  Up: Introduction
1157
1158 1.4: Getting Started, Backing up & Recovery
1159 ===========================================
1160
1161 Q1.4.1: What is an `init.el' or `.emacs' and is there a sample one?
1162 -------------------------------------------------------------------
1163
1164 The `init.el' or `.emacs' file is used to customize XEmacs to your
1165 tastes.  Starting in 21.4, the preferred location for the init file is
1166 `~/.xemacs/init.el'; in previous versions, it was `~/.emacs'.  21.4
1167 still accepts the old location, but the first time you run it, it will
1168 ask to migrate your file to the new location.  If you answer yes, the
1169 file will be moved, and a "compatibility" `.emacs' file will be placed
1170 in the old location so that you can still run older versions of XEmacs,
1171 and versions of GNU Emacs, which expect the old location.  The `.emacs'
1172 file present is just a stub that loads the real file in
1173 `~/.xemacs/init.el'.
1174
1175    No two init files are alike, nor are they expected to be alike, but
1176 that's the point.  The XEmacs distribution contains an excellent starter
1177 example in the `etc/' directory called `sample.init.el' (starting in
1178 21.4) or `sample.emacs' in older versions.  Copy this file from there
1179 to `~/.xemacs/init.el' (starting in 21.4) or `~/.emacs' in older
1180 versions, where `~' means your home directory, of course.  Then edit it
1181 to suit.
1182
1183    You may bring the `sample.init.el' or `sample.emacs' file into an
1184 XEmacs buffer from the menubar. (The menu entry for it is always under
1185 the `Help' menu, but its location under that has changed in various
1186 versions.  Recently, look under the `Samples' submenu.)  To determine
1187 the location of the `etc/' directory type the command `C-h v
1188 data-directory <RET>'.
1189
1190 \1f
1191 File: xemacs-faq.info,  Node: Q1.4.2,  Next: Q1.4.3,  Prev: Q1.4.1,  Up: Introduction
1192
1193 Q1.4.2: Can I use the same `init.el'/`.emacs' with the other Emacs?
1194 -------------------------------------------------------------------
1195
1196 Yes.  The sample `init.el'/`.emacs' included in the XEmacs distribution
1197 will show you how to handle different versions and flavors of Emacs.
1198
1199 \1f
1200 File: xemacs-faq.info,  Node: Q1.4.3,  Next: Q1.4.4,  Prev: Q1.4.2,  Up: Introduction
1201
1202 Q1.4.3: Any good tutorials around?
1203 ----------------------------------
1204
1205 There's the XEmacs tutorial available from the Help Menu under
1206 `Basics->Tutorials', or by typing `C-h t'. To check whether it's
1207 available in a non-english language, type `C-u C-h t TAB', type the
1208 first letters of your preferred language, then type <RET>.
1209
1210 \1f
1211 File: xemacs-faq.info,  Node: Q1.4.4,  Next: Q1.4.5,  Prev: Q1.4.3,  Up: Introduction
1212
1213 Q1.4.4: May I see an example of a useful XEmacs Lisp function?
1214 --------------------------------------------------------------
1215
1216 The following function does a little bit of everything useful.  It does
1217 something with the prefix argument, it examines the text around the
1218 cursor, and it's interactive so it may be bound to a key.  It inserts
1219 copies of the current word the cursor is sitting on at the cursor.  If
1220 you give it a prefix argument: `C-u 3 M-x double-word' then it will
1221 insert 3 copies.
1222
1223      (defun double-word (count)
1224        "Insert a copy of the current word underneath the cursor"
1225        (interactive "*p")
1226        (let (here there string)
1227          (save-excursion
1228            (forward-word -1)
1229            (setq here (point))
1230            (forward-word 1)
1231            (setq there (point))
1232            (setq string (buffer-substring here there)))
1233          (while (>= count 1)
1234            (insert string)
1235            (decf count))))
1236
1237    The best way to see what is going on here is to let XEmacs tell you.
1238 Put the code into an XEmacs buffer, and do a `C-h f' with the cursor
1239 sitting just to the right of the function you want explained.  Eg.  move
1240 the cursor to the SPACE between `interactive' and `"*p"' and hit `C-h
1241 f' to see what the function `interactive' does.  Doing this will tell
1242 you that the `*' requires a writable buffer, and `p' converts the
1243 prefix argument to a number, and `interactive' allows you to execute
1244 the command with `M-x'.
1245
1246 \1f
1247 File: xemacs-faq.info,  Node: Q1.4.5,  Next: Q1.4.6,  Prev: Q1.4.4,  Up: Introduction
1248
1249 Q1.4.5: And how do I bind it to a key?
1250 --------------------------------------
1251
1252 To bind to a key do:
1253
1254      (global-set-key "\C-cd" 'double-word)
1255
1256    Or interactively, `M-x global-set-key' and follow the prompts.
1257
1258 \1f
1259 File: xemacs-faq.info,  Node: Q1.4.6,  Prev: Q1.4.5,  Up: Introduction
1260
1261 Q1.4.6: What's the difference between a macro and a function?
1262 -------------------------------------------------------------
1263
1264 Quoting from the Lisp Reference (a.k.a "Lispref") Manual:
1265
1266    "Macros" enable you to define new control constructs and other
1267 language features.  A macro is defined much like a function, but instead
1268 of telling how to compute a value, it tells how to compute another Lisp
1269 expression which will in turn compute the value.  We call this
1270 expression the "expansion" of the macro.
1271
1272    Macros can do this because they operate on the unevaluated
1273 expressions for the arguments, not on the argument values as functions
1274 do.  They can therefore construct an expansion containing these
1275 argument expressions or parts of them.
1276
1277    Do not confuse the two terms with "keyboard macros", which are
1278 another matter, entirely.  A keyboard macro is a key bound to several
1279 other keys.  Refer to manual for details.
1280
1281 \1f
1282 File: xemacs-faq.info,  Node: Installation,  Next: Customization,  Prev: Introduction,  Up: Top
1283
1284 2 Installation and Trouble Shooting
1285 ***********************************
1286
1287 This is part 2 of the XEmacs Frequently Asked Questions list.  This
1288 section is devoted to Installation, Maintenance and Trouble Shooting.
1289
1290 * Menu:
1291
1292 Installation:
1293 * Q2.0.1::      Running XEmacs without installing.
1294 * Q2.0.2::      XEmacs is too big.
1295 * Q2.0.3::      Compiling XEmacs with Netaudio.
1296 * Q2.0.4::      Problems with Linux and ncurses.
1297 * Q2.0.5::      Do I need X11 to run XEmacs?
1298 * Q2.0.6::      I'm having strange crashes.  What do I do?
1299 * Q2.0.7::      Libraries in non-standard locations.
1300 * Q2.0.8::      can't resolve symbol _h_errno
1301 * Q2.0.9::      Where do I find external libraries?
1302 * Q2.0.10::     After I run configure I find a coredump, is something wrong?
1303 * Q2.0.11::     XEmacs can't resolve host names.
1304 * Q2.0.12::     Why can't I strip XEmacs?
1305 * Q2.0.13::     I don't need no steenkin' packages.  Do I?
1306 * Q2.0.14::     I don't want to install a million .els one at a time!
1307 * Q2.0.15::     EFS fails with "500 AUTH not understood" (NEW)
1308 * Q2.0.16::     Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
1309
1310 Trouble Shooting:
1311 * Q2.1.1::      XEmacs just crashed on me!
1312 * Q2.1.2::      Cryptic Minibuffer messages.
1313 * Q2.1.3::      Translation Table Syntax messages at Startup.
1314 * Q2.1.4::      Startup warnings about deducing proper fonts?
1315 * Q2.1.5::      XEmacs cannot connect to my X Terminal.
1316 * Q2.1.6::      XEmacs just locked up my Linux X server.
1317 * Q2.1.7::      HP Alt key as Meta.
1318 * Q2.1.8::      got (wrong-type-argument color-instance-p nil)!
1319 * Q2.1.9::      XEmacs causes my OpenWindows 3.0 server to crash.
1320 * Q2.1.10::     Warnings from incorrect key modifiers.
1321 * Q2.1.11::     Can't instantiate image error... in toolbar
1322 * Q2.1.12::     Regular Expression Problems on DEC OSF1.
1323 * Q2.1.13::     HP/UX 10.10 and `create_process' failure
1324 * Q2.1.14::     C-g doesn't work for me.  Is it broken?
1325 * Q2.1.15::     How to debug an XEmacs problem with a debugger.
1326 * Q2.1.16::     XEmacs crashes in `strcat' on HP/UX 10.
1327 * Q2.1.17::     `Marker does not point anywhere'.
1328 * Q2.1.18::     XEmacs is outputting lots of X errors.
1329 * Q2.1.19::     XEmacs does not follow the local timezone.
1330 * Q2.1.20::     `Symbol's function definition is void: hkey-help-show.'
1331 * Q2.1.21::     [This question intentionally left blank]
1332 * Q2.1.22::     XEmacs seems to take a really long time to do some things.
1333 * Q2.1.23::     Movemail on Linux does not work for XEmacs 19.15 and later.
1334 * Q2.1.24::     XEmacs won't start without network.
1335 * Q2.1.25::     After upgrading, XEmacs won't do `foo' any more!
1336
1337 \1f
1338 File: xemacs-faq.info,  Node: Q2.0.1,  Next: Q2.0.2,  Prev: Installation,  Up: Installation
1339
1340 2.0: Installation
1341 =================
1342
1343 Q2.0.1: Running XEmacs without installing
1344 -----------------------------------------
1345
1346 How can I just try XEmacs without installing it?
1347
1348    XEmacs will run in place without requiring installation and copying
1349 of the Lisp directories, and without having to specify a special
1350 build-time flag.  It's the copying of the Lisp directories that
1351 requires so much space.  XEmacs is largely written in Lisp.
1352
1353    A good method is to make a shell alias for xemacs:
1354
1355      alias xemacs=/i/xemacs-20.2/src/xemacs
1356
1357    (You will obviously use whatever directory you downloaded the source
1358 tree to instead of `/i/xemacs-20.2').
1359
1360    This will let you run XEmacs without massive copying.
1361
1362 \1f
1363 File: xemacs-faq.info,  Node: Q2.0.2,  Next: Q2.0.3,  Prev: Q2.0.1,  Up: Installation
1364
1365 Q2.0.2: XEmacs is too big
1366 -------------------------
1367
1368 The space required by the installation directories can be reduced
1369 dramatically if desired.  Gzip all the .el files.  Remove all the
1370 packages you'll never want to use.  Remove the TexInfo manuals.  Remove
1371 the Info (and use just hardcopy versions of the manual).  Remove most
1372 of the stuff in etc.  Remove or gzip all the source code.  Gzip or
1373 remove the C source code.  Configure it so that copies are not made of
1374 the support lisp.
1375
1376    These are all Emacs Lisp source code and bytecompiled object code.
1377 You may safely gzip everything named *.el here.  You may remove any
1378 package you don't use.  _Nothing bad will happen if you delete a package
1379 that you do not use_.  You must be sure you do not use it though, so be
1380 conservative at first.
1381
1382    Any package with the possible exceptions of xemacs-base, and EFS are
1383 candidates for removal.  Ask yourself, _Do I ever want to use this
1384 package?_  If the answer is no, then it is a candidate for removal.
1385
1386    First, gzip all the .el files.  Then go about package by package and
1387 start gzipping the .elc files.  Then run XEmacs and do whatever it is
1388 you normally do.  If nothing bad happens, then remove the package.  You
1389 can remove a package via the PUI interface (`M-x pui-list-packages',
1390 then press `d' to mark the packages you wish to delete, and then `x' to
1391 delete them.
1392
1393    Another method is to do `M-x package-get-delete-package'.
1394
1395 \1f
1396 File: xemacs-faq.info,  Node: Q2.0.3,  Next: Q2.0.4,  Prev: Q2.0.2,  Up: Installation
1397
1398 Q2.0.3: Compiling XEmacs with Netaudio.
1399 ---------------------------------------
1400
1401 What is the best way to compile XEmacs with the netaudio system, since I
1402 have got the netaudio system compiled but installed at a weird place, I
1403 am not root.  Also in the READMEs it does not say anything about
1404 compiling with the audioserver?
1405
1406    You should only need to add some stuff to the configure command line.
1407 To tell it to compile in netaudio support: `--with-sound=both', or
1408 `--with-sound=nas' if you don't want native sound support for some
1409 reason.) To tell it where to find the netaudio includes and libraries:
1410
1411      --site-libraries=WHATEVER
1412      --site-includes=WHATEVER
1413
1414    Then (fingers crossed) it should compile and it will use netaudio if
1415 you have a server running corresponding to the X server. The netaudio
1416 server has to be there when XEmacs starts. If the netaudio server goes
1417 away and another is run, XEmacs should cope (fingers crossed, error
1418 handling in netaudio isn't perfect).
1419
1420    BTW, netaudio has been renamed as it has a name clash with something
1421 else, so if you see references to NAS or Network Audio System, it's the
1422 same thing.  It also might be found at
1423 `ftp://ftp.x.org/contrib/audio/nas/'.
1424
1425 \1f
1426 File: xemacs-faq.info,  Node: Q2.0.4,  Next: Q2.0.5,  Prev: Q2.0.3,  Up: Installation
1427
1428 Q2.0.4: Problems with Linux and ncurses.
1429 ----------------------------------------
1430
1431 On Linux 1.3.98 with termcap 2.0.8 and the ncurses that came with libc
1432 5.2.18, XEmacs 20.0b20 is unable to open a tty device:
1433
1434      src/xemacs -nw -q
1435      Initialization error:
1436      Terminal type `xterm' undefined (or can't access database?)
1437
1438    Ben Wing <ben@xemacs.org> writes:
1439
1440      Your ncurses configuration is messed up.  Your /usr/lib/terminfo
1441      is a bad pointer, perhaps to a CD-ROM that is not inserted.
1442
1443 \1f
1444 File: xemacs-faq.info,  Node: Q2.0.5,  Next: Q2.0.6,  Prev: Q2.0.4,  Up: Installation
1445
1446 Q2.0.5: Do I need X11 to run XEmacs?
1447 ------------------------------------
1448
1449 No.  The name "XEmacs" is unfortunate in the sense that it is *not* an
1450 X Window System-only version of Emacs.  XEmacs has full color support
1451 on a color-capable character terminal.
1452
1453 \1f
1454 File: xemacs-faq.info,  Node: Q2.0.6,  Next: Q2.0.7,  Prev: Q2.0.5,  Up: Installation
1455
1456 Q2.0.6: I'm having strange crashes.  What do I do?
1457 --------------------------------------------------
1458
1459 There have been a variety of reports of crashes due to compilers with
1460 buggy optimizers.  Please see the `PROBLEMS' file that comes with
1461 XEmacs to read what it says about your platform.
1462
1463    If you compiled XEmacs using `--use-union-type' (or the option
1464 `USE_UNION_TYPE' in `config.inc' under Windows), try recompiling again
1465 without it.  The union type has been known to trigger compiler errors
1466 in a number of cases.
1467
1468 \1f
1469 File: xemacs-faq.info,  Node: Q2.0.7,  Next: Q2.0.8,  Prev: Q2.0.6,  Up: Installation
1470
1471 Q2.0.7: Libraries in non-standard locations
1472 -------------------------------------------
1473
1474 I have x-faces, jpeg, xpm etc. all in different places.  I've tried
1475 space-separated, comma-separated, several -site-libraries, all to no
1476 avail.
1477
1478      --site-libraries='/path/one /path/two /path/etc'
1479
1480 \1f
1481 File: xemacs-faq.info,  Node: Q2.0.8,  Next: Q2.0.9,  Prev: Q2.0.7,  Up: Installation
1482
1483 Q2.0.8: can't resolve symbol _h_errno
1484 -------------------------------------
1485
1486 You are using the Linux/ELF distribution of XEmacs 19.14, and your ELF
1487 libraries are out of date.  You have the following options:
1488
1489   1. Upgrade your libc to at least 5.2.16 (better is 5.2.18, 5.3.12, or
1490      5.4.10).
1491
1492   2. Patch the XEmacs binary by replacing all occurrences of
1493      `_h_errno^@' with `h_errno^@^@'.  Any version of Emacs will
1494      suffice.  If you don't understand how to do this, don't do it.
1495
1496   3. Rebuild XEmacs yourself--any working ELF version of libc should be
1497      O.K.
1498
1499    Hrvoje Niksic <hniksic@xemacs.org> writes:
1500
1501      Why not use a Perl one-liner for No. 2?
1502
1503           perl -pi -e 's/_h_errno\0/h_errno\0\0/g' \
1504           /usr/local/bin/xemacs-19.14
1505
1506      NB: You _must_ patch `/usr/local/bin/xemacs-19.14', and not
1507      `xemacs' because `xemacs' is a link to `xemacs-19.14'; the Perl
1508      `-i' option will cause unwanted side-effects if applied to a
1509      symbolic link.
1510
1511    SL Baur <steve@xemacs.org> writes:
1512
1513      If you build against a recent libc-5.4 (late enough to have caused
1514      problems earlier in the beta cycle) and then run with an earlier
1515      version of libc, you get a
1516
1517           $ xemacs
1518           xemacs: can't resolve symbol '__malloc_hook'
1519           zsh: 7942 segmentation fault (core dumped)  xemacs
1520
1521      (Example binary compiled against libc-5.4.23 and run with
1522      libc-5.4.16).
1523
1524      The solution is to upgrade to at least libc-5.4.23.  Sigh.  Drat.
1525
1526 \1f
1527 File: xemacs-faq.info,  Node: Q2.0.9,  Next: Q2.0.10,  Prev: Q2.0.8,  Up: Installation
1528
1529 Q2.0.9: Where do I find external libraries?
1530 -------------------------------------------
1531
1532 All external libraries used by XEmacs can be found at the XEmacs FTP
1533 site `ftp://ftp.xemacs.org/pub/xemacs/aux/'.  [These tarballs and this
1534 FAQ are wa-a-ay out of date.  Sorry, I'm not currently network-capable,
1535 and I will probably forgot to update this before submitting the patch.
1536 - Ed.]
1537
1538    The canonical locations (at the time of this writing) are as follows:
1539
1540 JPEG
1541      `ftp://ftp.uu.net/graphics/jpeg/'.  Version 6a is current.
1542
1543 XPM
1544      `ftp://ftp.x.org/contrib/libraries/'.  Version 3.4j is current.
1545      Older versions of this package are known to cause XEmacs crashes.
1546
1547 TIFF
1548      `ftp://ftp.sgi.com/graphics/tiff/'.  v3.4 is current.  The latest
1549      beta is v3.4b035.  There is a HOWTO here.
1550
1551 PNG
1552      `ftp://ftp.uu.net/graphics/png/'.  0.89c is current.  XEmacs
1553      requires a fairly recent version to avoid using temporary files.
1554
1555      `ftp://swrinde.nde.swri.edu/pub/png/src/'
1556
1557 Compface
1558      `ftp://ftp.cs.indiana.edu/pub/faces/compface/'.  This library has
1559      been frozen for about 6 years, and is distributed without version
1560      numbers.  _It should be compiled with the same options that X11 was
1561      compiled with on your system_.  The version of this library at
1562      XEmacs.org includes the `xbm2xface.pl' script, written by
1563      <stig@hackvan.com>, which may be useful when generating your own
1564      xface.
1565
1566 NAS
1567      `ftp://ftp.x.org/contrib/audio/nas/'.  Version 1.2p5 is current.
1568      There is a FAQ here.
1569
1570 \1f
1571 File: xemacs-faq.info,  Node: Q2.0.10,  Next: Q2.0.11,  Prev: Q2.0.9,  Up: Installation
1572
1573 Q2.0.10: After I run configure I find a core dump, is something wrong?
1574 ----------------------------------------------------------------------
1575
1576 Not necessarily.  If you have GNU sed 3.0 you should downgrade it to
1577 2.05.  From the `README' at prep.ai.mit.edu:
1578
1579      sed 3.0 has been withdrawn from distribution.  It has major
1580      revisions, which mostly seem to be improvements; but it turns out
1581      to have bugs too which cause trouble in some common cases.
1582
1583      Tom Lord won't be able to work fixing the bugs until May.  So in
1584      the mean time, we've decided to withdraw sed 3.0 from distribution
1585      and make version 2.05 once again the recommended version.
1586
1587    It has also been observed that the vfork test on Solaris will leave a
1588 core dump.
1589
1590 \1f
1591 File: xemacs-faq.info,  Node: Q2.0.11,  Next: Q2.0.12,  Prev: Q2.0.10,  Up: Installation
1592
1593 Q2.0.11: XEmacs doesn't resolve hostnames.
1594 ------------------------------------------
1595
1596 This is the result of a long-standing problem with SunOS and the fact
1597 that stock SunOS systems do not ship with DNS resolver code in libc.
1598
1599    Christopher Davis <ckd@loiosh.kei.com> writes:
1600
1601      That's correct [The SunOS 4.1.3 precompiled binaries don't do name
1602      lookup].  Since Sun figured that everyone used NIS to do name
1603      lookups (that DNS thing was apparently only a passing fad,
1604      right?), the stock SunOS 4.x systems don't have DNS-based name
1605      lookups in libc.
1606
1607      This is also why Netscape ships two binaries for SunOS 4.1.x.
1608
1609      The best solution is to compile it yourself; the configure script
1610      will check to see if you've put DNS in the shared libc and will
1611      then proceed to link against the DNS resolver library code.
1612
1613 \1f
1614 File: xemacs-faq.info,  Node: Q2.0.12,  Next: Q2.0.13,  Prev: Q2.0.11,  Up: Installation
1615
1616 Q2.0.12: Why can't I strip XEmacs?
1617 ----------------------------------
1618
1619 Richard Cognot <cognot@fronsac.ensg.u-nancy.fr> writes:
1620
1621      Because of the way XEmacs (and every other Emacsen, AFAIK) is
1622      built. The link gives you a bare-boned emacs (called temacs).
1623      temacs is then run, preloading some of the lisp files. The result
1624      is then dumped into a new executable, named xemacs, which will
1625      contain all of the preloaded lisp functions and data.
1626
1627      Now, during the dump itself, the executable (code+data+symbols) is
1628      written on disk using a special unexec() function. This function is
1629      obviously heavily system dependent. And on some systems, it leads
1630      to an executable which, although valid, cannot be stripped without
1631      damage. If memory serves, this is especially the case for AIX
1632      binaries. On other architectures it might work OK.
1633
1634      The Right Way to strip the emacs binary is to strip temacs prior to
1635      dumping xemacs. This will always work, although you can do that
1636      only if you install from sources (as temacs is `not' part of the
1637      binary kits).
1638
1639    Nat Makarevitch <nat@nataa.fr.eu.org> writes:
1640
1641      Here is the trick:
1642
1643        1. [ ./configure; make ]
1644
1645        2. rm src/xemacs
1646
1647        3. strip src/temacs
1648
1649        4. make
1650
1651        5. cp src/xemacs /usr/local/bin/xemacs
1652
1653        6. cp lib-src/DOC-19.16-XEmacs
1654           /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
1655
1656 \1f
1657 File: xemacs-faq.info,  Node: Q2.0.13,  Next: Q2.0.14,  Prev: Q2.0.12,  Up: Installation
1658
1659 Q2.0.13: I don't need no steenkin' packages.  Do I?
1660 ---------------------------------------------------
1661
1662 Strictly speaking, no.  XEmacs will build and install just fine without
1663 any packages installed.  However, only the most basic editing functions
1664 will be available with no packages installed, so installing packages is
1665 an essential part of making your installed XEmacs _useful_.
1666
1667 \1f
1668 File: xemacs-faq.info,  Node: Q2.0.14,  Next: Q2.0.15,  Prev: Q2.0.13,  Up: Installation
1669
1670 Q2.0.14: How do I figure out which packages to install?
1671 -------------------------------------------------------
1672
1673 Many people really liked the old way that packages were bundled and do
1674 not want to mess with packages at all.  You can grab all the packages at
1675 once like you used to with old XEmacs versions.  Download the file
1676
1677    `xemacs-sumo.tar.gz'
1678
1679    For an XEmacs compiled with Mule you also need
1680
1681    `xemacs-mule-sumo.tar.gz'
1682
1683    from the `packages' directory on your XEmacs mirror archive.  N.B.
1684 They are called 'Sumo Tarballs' for good reason. They are currently
1685 about 15MB and 2.3MB (gzipped) respectively.
1686
1687    Install them by
1688
1689    `cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -'
1690
1691    See README.packages for more detailed installation instructions.
1692
1693    As the Sumo tarballs are not regenerated as often as the individual
1694 packages, it is recommended that you use the automatic package tools
1695 afterwards to pick up any recent updates.
1696
1697 \1f
1698 File: xemacs-faq.info,  Node: Q2.0.15,  Next: Q2.0.16,  Prev: Q2.0.14,  Up: Installation
1699
1700 Q2.0.15: EFS fails with "500 AUTH not understood" (NEW)
1701 -------------------------------------------------------
1702
1703 A typical error: FTP Error: USER request failed; 500 AUTH not
1704 understood.
1705
1706    Thanks to giacomo boffi <giacomo.boffi@polimi.it> who recommends on
1707 comp.emacs.xemacs:
1708
1709    tell your ftp client to not attempt AUTH authentication (or do not
1710 use FTP servers that don't understand AUTH)
1711
1712    and notes that you need to add an element (often "-u") to
1713 `efs-ftp-program-args'.  Use M-x customize-variable, and verify the
1714 needed flag with `man ftp' or other local documentation.
1715
1716 \1f
1717 File: xemacs-faq.info,  Node: Q2.0.16,  Next: Q2.1.1,  Prev: Q2.0.15,  Up: Installation
1718
1719 Q2.0.16: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
1720 -----------------------------------------------------------------------
1721
1722 The Cygwin binary distributed with the netinstaller uses an external DLL
1723 to handle XPM images (such as toolbar buttons).  You may get an error
1724 like
1725
1726    This application has failed to start because cygXpm-noX4.dll was not
1727 found.      Re-installing the application may fix this problem.
1728
1729    Andy Piper <andy@xemacs.org> sez:
1730
1731    cygXpm-noX4 is part of the cygwin distribution under libraries or
1732 graphics, but is not installed by default. You need to run the
1733 cygwin setup again and select this package.
1734
1735    Ie, reinstalling XEmacs won't help because it is not part of the
1736 XEmacs distribution.
1737
1738 \1f
1739 File: xemacs-faq.info,  Node: Q2.1.1,  Next: Q2.1.2,  Prev: Q2.0.16,  Up: Installation
1740
1741 2.1: Trouble Shooting
1742 =====================
1743
1744 Q2.1.1: Help!  XEmacs just crashed on me!
1745 -----------------------------------------
1746
1747 First of all, don't panic.  Whenever XEmacs crashes, it tries extremely
1748 hard to auto-save all of your files before dying.  (The main time that
1749 this will not happen is if the machine physically lost power or if you
1750 killed the XEmacs process using `kill -9').  The next time you try to
1751 edit those files, you will be informed that a more recent auto-save
1752 file exists.  You can use `M-x recover-file' to retrieve the auto-saved
1753 version of the file.
1754
1755    You can use the command `M-x recover-session' after a crash to pick
1756 up where you left off.
1757
1758    Now, XEmacs is not perfect, and there may occasionally be times, or
1759 particular sequences of actions, that cause it to crash.  If you can
1760 come up with a reproducible way of doing this (or even if you have a
1761 pretty good memory of exactly what you were doing at the time), the
1762 maintainers would be very interested in knowing about it.  The best way
1763 to report a bug is using `M-x report-emacs-bug' (or by selecting `Send
1764 Bug Report...' from the Help menu).  If that won't work (e.g. you can't
1765 get XEmacs working at all), send ordinary mail to <crashes@xemacs.org>.
1766 _MAKE SURE_ to include the output from the crash, especially including
1767 the Lisp backtrace, as well as the XEmacs configuration from `M-x
1768 describe-installation' (or equivalently, the file `Installation' in the
1769 top of the build tree).  Please note that the `crashes' address is
1770 exclusively for crash reports.  The best way to report bugs in general
1771 is through the `M-x report-emacs-bug' interface just mentioned, or if
1772 necessary by emailing <xemacs-beta@xemacs.org>.  Note that the
1773 developers do _not_ usually follow `comp.emacs.xemacs' on a regular
1774 basis; thus, this is better for general questions about XEmacs than bug
1775 reports.
1776
1777    If at all possible, include a C stack backtrace of the core dump that
1778 was produced.  This shows where exactly things went wrong, and makes it
1779 much easier to diagnose problems.  To do this under Unix, you need to
1780 locate the core file (it's called `core', and is usually sitting in the
1781 directory that you started XEmacs from, or your home directory if that
1782 other directory was not writable).  Then, go to that directory and
1783 execute a command like:
1784
1785      gdb `which xemacs` core
1786
1787    and then issue the command `where' to get the stack backtrace.  You
1788 might have to use `dbx' or some similar debugger in place of `gdb'.  If
1789 you don't have any such debugger available, complain to your system
1790 administrator.
1791
1792    It's possible that a core file didn't get produced, in which case
1793 you're out of luck.  Go complain to your system administrator and tell
1794 him not to disable core files by default.  Also see *Note Q2.1.15::,
1795 for tips and techniques for dealing with a debugger.
1796
1797    If you're under Microsoft Windows, you're out of luck unless you
1798 happen to have a debugging aid installed on your system, for example
1799 Visual C++.  In this case, the crash will result in a message giving
1800 you the option to enter a debugger (for example, by pressing `Cancel').
1801 Do this and locate the stack-trace window. (If your XEmacs was built
1802 without debugging information, the stack trace may not be very useful.)
1803
1804    When making a problem report make sure that:
1805
1806   1. Report *all* of the information output by XEmacs during the crash.
1807
1808   2. You mention what O/S & Hardware you are running XEmacs on.
1809
1810   3. What version of XEmacs you are running.
1811
1812   4. What build options you are using.
1813
1814   5. If the problem is related to graphics and you are running Unix, we
1815      will also need to know what version of the X Window System you are
1816      running, and what window manager you are using.
1817
1818   6. If the problem happened on a TTY, please include the terminal type.
1819
1820    Much of the information above is automatically generated by `M-x
1821 report-emacs-bug'.  Even more, and often useful, information can be
1822 generated by redirecting the output of `make' and `make check' to a
1823 file (`beta.err' is the default used by `build-report'), and executing
1824 `M-x build-report'.
1825
1826 \1f
1827 File: xemacs-faq.info,  Node: Q2.1.2,  Next: Q2.1.3,  Prev: Q2.1.1,  Up: Installation
1828
1829 Q2.1.2: Cryptic Minibuffer messages.
1830 ------------------------------------
1831
1832 When I try to use some particular option of some particular package, I
1833 get a cryptic error in the minibuffer.
1834
1835    If you can't figure out what's going on, select Options/General
1836 Options/Debug on Error from the Menubar and then try and make the error
1837 happen again.  This will give you a backtrace that may be enlightening.
1838 If not, try reading through this FAQ; if that fails, you could try
1839 posting to comp.emacs.xemacs (making sure to include the backtrace) and
1840 someone may be able to help.  If you can identify which Emacs lisp
1841 source file the error is coming from you can get a more detailed stack
1842 backtrace by doing the following:
1843
1844   1. Visit the .el file in an XEmacs buffer.
1845
1846   2. Issue the command `M-x eval-current-buffer'.
1847
1848   3. Reproduce the error.
1849
1850    Depending on the version of XEmacs, you may either select View->Show
1851 Message Log (recent versions), Edit->Show Messages (some earlier
1852 versions) or Help->Recent Keystrokes/Messages (other earlier versions)
1853 from the menubar to see the most recent messages.  This command is bound
1854 to `C-h l' by default.
1855
1856 \1f
1857 File: xemacs-faq.info,  Node: Q2.1.3,  Next: Q2.1.4,  Prev: Q2.1.2,  Up: Installation
1858
1859 Q2.1.3: Translation Table Syntax messages at Startup
1860 ----------------------------------------------------
1861
1862 I get tons of translation table syntax error messages during startup.
1863 How do I get rid of them?
1864
1865    There are two causes of this problem.  The first usually only strikes
1866 people using the prebuilt binaries.  The culprit in both cases is the
1867 file `XKeysymDB'.
1868
1869    * The binary cannot find the `XKeysymDB' file.  The location is
1870      hardcoded at compile time so if the system the binary was built on
1871      puts it a different place than your system does, you have
1872      problems.  To fix, set the environment variable `XKEYSYMDB' to the
1873      location of the `XKeysymDB' file on your system or to the location
1874      of the one included with XEmacs which should be at
1875      `<xemacs_root_directory>/lib/xemacs-19.16/etc/XKeysymDB'.
1876
1877    * The binary is finding the XKeysymDB but it is out-of-date on your
1878      system and does not contain the necessary lines.  Either ask your
1879      system administrator to replace it with the one which comes with
1880      XEmacs (which is the stock R6 version and is backwards compatible)
1881      or set your `XKEYSYMDB' variable to the location of XEmacs's
1882      described above.
1883
1884 \1f
1885 File: xemacs-faq.info,  Node: Q2.1.4,  Next: Q2.1.5,  Prev: Q2.1.3,  Up: Installation
1886
1887 Q2.1.4: Startup warnings about deducing proper fonts?
1888 -----------------------------------------------------
1889
1890 How can I avoid the startup warnings about deducing proper fonts?
1891
1892    This is highly dependent on your installation, but try with the
1893 following font as your base font for XEmacs and see what it does:
1894
1895 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
1896
1897    More precisely, do the following in your resource file:
1898
1899 Emacs.default.attributeFont: \
1900 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
1901
1902    If you just don't want to see the `*Warnings*' buffer at startup
1903 time, you can set this:
1904
1905      (setq display-warning-minimum-level 'error)
1906
1907    The buffer still exists; it just isn't in your face.
1908
1909 \1f
1910 File: xemacs-faq.info,  Node: Q2.1.5,  Next: Q2.1.6,  Prev: Q2.1.4,  Up: Installation
1911
1912 Q2.1.5: XEmacs cannot connect to my X Terminal!
1913 -----------------------------------------------
1914
1915 Help!  I can not get XEmacs to display on my Envizex X-terminal!
1916
1917    Try setting the `DISPLAY' variable using the numeric IP address of
1918 the host you are running XEmacs from.
1919
1920 \1f
1921 File: xemacs-faq.info,  Node: Q2.1.6,  Next: Q2.1.7,  Prev: Q2.1.5,  Up: Installation
1922
1923 Q2.1.6: XEmacs just locked up my Linux X server!
1924 ------------------------------------------------
1925
1926 There have been several reports of the X server locking up under Linux.
1927 In all reported cases removing speedo and scaled fonts from the font
1928 path corrected the problem.  This can be done with the command `xset'.
1929
1930    It is possible that using a font server may also solve the problem.
1931
1932 \1f
1933 File: xemacs-faq.info,  Node: Q2.1.7,  Next: Q2.1.8,  Prev: Q2.1.6,  Up: Installation
1934
1935 Q2.1.7: HP Alt key as Meta.
1936 ---------------------------
1937
1938 How can I make XEmacs recognize the Alt key of my HP workstation as a
1939 Meta key?
1940
1941    Put the following line into a file and load it with xmodmap(1) before
1942 starting XEmacs:
1943
1944      remove Mod1 = Mode_switch
1945
1946 \1f
1947 File: xemacs-faq.info,  Node: Q2.1.8,  Next: Q2.1.9,  Prev: Q2.1.7,  Up: Installation
1948
1949 Q2.1.8: got (wrong-type-argument color-instance-p nil)
1950 ------------------------------------------------------
1951
1952 Natalie Kershaw <nataliek@rd.scitec.com.au> writes:
1953
1954      I am trying to run xemacs 19.13 under X11R4. Whenever I move the
1955      mouse I get the following error. Has anyone seen anything like
1956      this? This doesn't occur on X11R5.
1957
1958           Signalling:
1959           (error "got (wrong-type-argument color-instance-p nil)
1960           and I don't know why!")
1961
1962    dinos <map01kd@gold.ac.uk> writes:
1963
1964      I think this is due to undefined resources; You need to define
1965      color backgrounds and foregrounds into your
1966      `.../app-defaults/Emacs' like:
1967
1968           *Foreground:    Black   ;everything will be of black on grey95,
1969           *Background:    Grey95  ;unless otherwise specified.
1970           *cursorColor:   Red3    ;red3 cursor with grey95 border.
1971           *pointerColor:  Red3    ;red3 pointer with grey95 border.
1972
1973    Natalie Kershaw adds:
1974
1975      What fixed the problem was adding some more colors to the X color
1976      database (copying the X11R5 colors over), and also defining the
1977      following resources:
1978
1979           xemacs*cursorColor:    black
1980           xemacs*pointerColor:   black
1981
1982      With the new colors installed the problem still occurs if the above
1983      resources are not defined.
1984
1985      If the new colors are not present then an additional error occurs
1986      on XEmacs startup, which says `Color Red3' not defined.
1987
1988 \1f
1989 File: xemacs-faq.info,  Node: Q2.1.9,  Next: Q2.1.10,  Prev: Q2.1.8,  Up: Installation
1990
1991 Q2.1.9: XEmacs causes my OpenWindows 3.0 server to crash.
1992 ---------------------------------------------------------
1993
1994 The OpenWindows 3.0 server is incredibly buggy.  Your best bet is to
1995 replace it with one from the generic MIT X11 release.  You might also
1996 try disabling parts of your `init.el'/`.emacs', like those that enable
1997 background pixmaps.
1998
1999 \1f
2000 File: xemacs-faq.info,  Node: Q2.1.10,  Next: Q2.1.11,  Prev: Q2.1.9,  Up: Installation
2001
2002 Q2.1.10: Warnings from incorrect key modifiers.
2003 -----------------------------------------------
2004
2005 The following information comes from the `PROBLEMS' file that comes
2006 with XEmacs.
2007
2008    If you're having troubles with HP/UX it is because HP/UX defines the
2009 modifiers wrong in X.  Here is a shell script to fix the problem; be
2010 sure that it is run after VUE configures the X server.
2011
2012      #! /bin/sh
2013      xmodmap 2> /dev/null - << EOF
2014      keysym Alt_L = Meta_L
2015      keysym Alt_R = Meta_R
2016      EOF
2017      
2018      xmodmap - << EOF
2019      clear mod1
2020      keysym Mode_switch = NoSymbol
2021      add mod1 = Meta_L
2022      keysym Meta_R = Mode_switch
2023      add mod2 = Mode_switch
2024      EOF
2025
2026 \1f
2027 File: xemacs-faq.info,  Node: Q2.1.11,  Next: Q2.1.12,  Prev: Q2.1.10,  Up: Installation
2028
2029 Q2.1.11: `Can't instantiate image error...' in toolbar
2030 ------------------------------------------------------
2031
2032 Dr. Ram Samudrala <expt@alanine.ram.org> writes:
2033
2034    I just installed the XEmacs (20.4-2) RPMS that I downloaded from
2035 `http://www.xemacs.org/'.  Everything works fine, except that when I
2036 place my mouse over the toolbar, it beeps and gives me this message:
2037
2038       Can't instantiate image (probably cached):
2039       [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
2040       (16 16 <strange control characters> ...
2041
2042    Kyle Jones <kyle_jones@wonderworks.com> writes:
2043
2044      This is problem specific to some Chips and Technologies video
2045      chips, when running XFree86.  Putting
2046
2047      `Option "sw_cursor"'
2048
2049      in `XF86Config' gets rid of the problem.
2050
2051 \1f
2052 File: xemacs-faq.info,  Node: Q2.1.12,  Next: Q2.1.13,  Prev: Q2.1.11,  Up: Installation
2053
2054 Q2.1.12: Problems with Regular Expressions on DEC OSF1.
2055 -------------------------------------------------------
2056
2057 I have xemacs 19.13 running on an alpha running OSF1 V3.2 148 and ispell
2058 would not run because it claimed the version number was incorrect
2059 although it was indeed OK. I traced the problem to the regular
2060 expression handler.
2061
2062    Douglas Kosovic <douglask@dstc.edu.au> writes:
2063
2064      Actually it's a DEC cc optimization bug that screws up the regexp
2065      handling in XEmacs.
2066
2067      Rebuilding using the `-migrate' switch for DEC cc (which uses a
2068      different sort of optimization) works fine.
2069
2070    See `xemacs-19_13-dunix-3_2c.patch' at the following URL on how to
2071 build with the `-migrate' flag:
2072
2073      `http://www-digital.cern.ch/carney/emacs/emacs.html'
2074
2075    NOTE: There have been a variety of other problems reported that are
2076 fixed in this fashion.
2077
2078 \1f
2079 File: xemacs-faq.info,  Node: Q2.1.13,  Next: Q2.1.14,  Prev: Q2.1.12,  Up: Installation
2080
2081 Q2.1.13: HP/UX 10.10 and `create_process' failure.
2082 --------------------------------------------------
2083
2084 Dave Carrigan <Dave.Carrigan@ipl.ca> writes:
2085
2086      With XEmacs 19.13 and HP/UX 10.10, anything that relies on the
2087      `create_process' function fails. This breaks a lot of things
2088      (shell-mode, compile, ange-ftp, to name a few).
2089
2090    Phil Johnson <johnson@dtc.hp.com> writes:
2091
2092      This is a problem specific to HP-UX 10.10.  It only occurs when
2093      XEmacs is compiled for shared libraries (the default), so you can
2094      work around it by compiling a statically-linked binary (run
2095      configure with `--dynamic=no').
2096
2097      I'm not sure whether the problem is with a particular shared
2098      library or if it's a kernel problem which crept into 10.10.
2099
2100    Richard Cognot <cognot@ensg.u-nancy.fr> writes:
2101
2102      I had a few problems with 10.10. Apparently, some of them were
2103      solved by forcing a static link of libc (manually).
2104
2105 \1f
2106 File: xemacs-faq.info,  Node: Q2.1.14,  Next: Q2.1.15,  Prev: Q2.1.13,  Up: Installation
2107
2108 Q2.1.14: `C-g' doesn't work for me.  Is it broken?
2109 --------------------------------------------------
2110
2111 Ben Wing <ben@xemacs.org> writes:
2112
2113      `C-g' does work for most people in most circumstances.  If it
2114      doesn't, there are only two explanations:
2115
2116        1. The code is wrapped with a binding of `inhibit-quit' to `t'.
2117           `Ctrl-Shift-G' should still work, I think.
2118
2119        2. SIGIO is broken on your system, but BROKEN_SIGIO isn't
2120           defined.
2121
2122      To test #2, try executing `(while t)' from the `*scratch*' buffer.
2123      If `C-g' doesn't interrupt, then you're seeing #2.
2124
2125    Morten Welinder <terra@diku.dk> writes:
2126
2127      On some (but _not_ all) machines a hung XEmacs can be revived by
2128      `kill -FPE <pid>'.  This is a hack, of course, not a solution.
2129      This technique works on a Sun4 running 4.1.3_U1.  To see if it
2130      works for you, start another XEmacs and test with that first.  If
2131      you get a core dump the method doesn't work and if you get
2132      `Arithmetic error' then it does.
2133
2134 \1f
2135 File: xemacs-faq.info,  Node: Q2.1.15,  Next: Q2.1.16,  Prev: Q2.1.14,  Up: Installation
2136
2137 Q2.1.15: How to debug an XEmacs problem with a debugger
2138 -------------------------------------------------------
2139
2140 If XEmacs does crash on you, one of the most productive things you can
2141 do to help get the bug fixed is to poke around a bit with the debugger.
2142 Here are some hints:
2143
2144    * First of all, if the crash is at all reproducible, consider very
2145      strongly recompiling your XEmacs with debugging symbols and with no
2146      optimization (e.g. with GCC use the compiler flags `-g -O0' -
2147      that's an "oh" followed by a zero), and with the configure options
2148      `--debug=yes' and `--error-checking=all'.  This will make your
2149      XEmacs run somewhat slower, but you are a lot more likely to catch
2150      the problem earlier (closer to its source).  It makes it a lot
2151      easier to determine what's going on with a debugger.
2152
2153    * If it's not a true crash (_i.e._, XEmacs is hung, or a zombie
2154      process), or it's inconvenient to run XEmacs again because XEmacs
2155      is already running or is running in batch mode as part of a bunch
2156      of scripts, you may be able to attach to the existing process with
2157      your debugger.  Most debuggers let you do this by substituting the
2158      process ID for the core file when you invoke the debugger from the
2159      command line, or by using the `attach' command or something
2160      similar.
2161
2162    * If you're able to run XEmacs under a debugger and reproduce the
2163      crash, here are some things you can do:
2164
2165    * If XEmacs is hitting an assertion failure, put a breakpoint on
2166      `assert_failed()'.
2167
2168    * If XEmacs is hitting some weird Lisp error that's causing it to
2169      crash (e.g. during startup), put a breakpoint on
2170      `signal_1()'--this is declared static in eval.c.
2171
2172    * If XEmacs is outputting lots of X errors, put a breakpoint on
2173      `x_error_handler()'; that will tell you which call is causing them.
2174
2175    * Internally, you will probably see lots of variables that hold
2176      objects of type `Lisp_Object'.  These are references to Lisp
2177      objects.  Printing them out with the debugger probably won't be too
2178      useful--you'll likely just see a number.  To decode them, do this:
2179
2180           call dp (OBJECT)
2181
2182      where OBJECT is whatever you want to decode (it can be a variable,
2183      a function call, etc.).  This uses the Lisp printing routines to
2184      out a readable representation on the TTY from which the xemacs
2185      process was invoked.
2186
2187    * If you want to get a Lisp backtrace showing the Lisp call stack,
2188      do this:
2189
2190           call db ()
2191
2192    * Using `dp' and `db' has two disadvantages - they can only be used
2193      with a running (including hung or zombie) xemacs process, and they
2194      do not display the internal C structure of a Lisp Object.  Even if
2195      all you've got is a core dump, all is not lost.
2196
2197      If you're using GDB, there are some macros in the file
2198      `src/.gdbinit' in the XEmacs source distribution that should make
2199      it easier for you to decode Lisp objects.  This file is
2200      automatically read by gdb if gdb is run in the directory where
2201      xemacs was built, and contains these useful macros to inspect the
2202      state of xemacs:
2203
2204     `pobj'
2205           Usage: pobj lisp_object
2206           Print the internal C representation of a lisp object.
2207
2208     `xtype'
2209           Usage: xtype lisp_object
2210           Print the Lisp type of a lisp object.
2211
2212     `lbt'
2213           Usage: lbt
2214           Print the current Lisp stack trace.  Requires a running
2215           xemacs process.  (It works by calling the db routine
2216           described above.)
2217
2218     `ldp'
2219           Usage: ldp lisp_object
2220           Print a Lisp Object value using the Lisp printer.  Requires a
2221           running xemacs process.  (It works by calling the dp routine
2222           described above.)
2223
2224     `run-temacs'
2225           Usage: run-temacs
2226           Run temacs interactively, like xemacs.  Use this with
2227           debugging tools (like purify) that cannot deal with dumping,
2228           or when temacs builds successfully, but xemacs does not.
2229
2230     `dump-temacs'
2231           Usage: dump-temacs
2232           Run the dumping part of the build procedure.  Use when
2233           debugging temacs, not xemacs!  Use this when temacs builds
2234           successfully, but xemacs does not.
2235
2236     `check-xemacs'
2237           Usage: check-xemacs
2238           Run the test suite.  Equivalent to 'make check'.
2239
2240     `check-temacs'
2241           Usage: check-temacs
2242           Run the test suite on temacs.  Equivalent to 'make
2243           check-temacs'.  Use this with debugging tools (like purify)
2244           that cannot deal with dumping, or when temacs builds
2245           successfully, but xemacs does not.
2246
2247      If you are using Sun's `dbx' debugger, there is an equivalent file
2248      `src/.dbxrc', which defines the same commands for dbx.
2249
2250    * If you're using a debugger to get a C stack backtrace and you're
2251      seeing stack traces with some of the innermost frames mangled, it
2252      may be due to dynamic linking. (This happens especially under
2253      Linux.) Consider reconfiguring with `--dynamic=no'.  Also,
2254      sometimes (again under Linux), stack backtraces of core dumps will
2255      have the frame where the fatal signal occurred mangled; if you can
2256      obtain a stack trace while running the XEmacs process under a
2257      debugger, the stack trace should be clean.
2258
2259      Curtiss <1CMC3466@ibm.mtsac.edu> suggests upgrading to ld.so
2260      version 1.8 if dynamic linking and debugging is a problem on Linux.
2261
2262    * If you're using a debugger to get a C stack backtrace and you're
2263      getting a completely mangled and bogus stack trace, it's probably
2264      due to one of the following:
2265
2266        a. Your executable has been stripped.  Bad news.  Tell your
2267           sysadmin not to do this--it doesn't accomplish anything
2268           except to save a bit of disk space, and makes debugging much
2269           much harder.
2270
2271        b. Your stack is getting trashed.  Debugging this is hard; you
2272           have to do a binary-search type of narrowing down where the
2273           crash occurs, until you figure out exactly which line is
2274           causing the problem.  Of course, this only works if the bug
2275           is highly reproducible.  Also, in many cases if you run
2276           XEmacs from the debugger, the debugger can protect the stack
2277           somewhat.  However, if the stack is being smashed, it is
2278           typically the case that there is a wild pointer somewhere in
2279           the program, often quite far from where the crash occurs.
2280
2281        c. If your stack trace has exactly one frame in it, with address
2282           0x0, this could simply mean that XEmacs attempted to execute
2283           code at that address, e.g. through jumping to a null function
2284           pointer.  Unfortunately, under those circumstances, GDB under
2285           Linux doesn't know how to get a stack trace. (Yes, this is
2286           the fourth Linux-related problem I've mentioned.  I have no
2287           idea why GDB under Linux is so bogus.  Complain to the GDB
2288           authors, or to comp.os.linux.development.system.) Again,
2289           you'll have to use the narrowing-down process described above.
2290
2291        d. You will get a Lisp backtrace output when XEmacs crashes, so
2292           you'll have something useful.
2293
2294
2295    * If you compile with the newer gcc variants gcc-2.8 or egcs, you
2296      will also need gdb 4.17 or above.  Earlier releases of gdb can't
2297      handle the debug information generated by the newer compilers.
2298
2299    * In versions of XEmacs before 21.2.27, `src/.gdbinit' was named
2300      `src/gdbinit'.  This had the disadvantage of not being sourced
2301      automatically by gdb, so you had to set that up yourself.
2302
2303    * If you are running Microsoft Windows, the the file `nt/README' for
2304      further information about debugging XEmacs.
2305
2306
2307 \1f
2308 File: xemacs-faq.info,  Node: Q2.1.16,  Next: Q2.1.17,  Prev: Q2.1.15,  Up: Installation
2309
2310 Q2.1.16: XEmacs crashes in `strcat' on HP/UX 10
2311 -----------------------------------------------
2312
2313 From the problems database (through the former address
2314 http://support.mayfield.hp.com/):
2315
2316      Problem Report: 5003302299
2317      Status:         Open
2318      
2319      System/Model:   9000/700
2320      Product Name:   HPUX S800 10.0X
2321      Product Vers:   9245XB.10.00
2322      
2323      Description: strcat(3C) may read beyond
2324      end of source string, can cause SIGSEGV
2325      
2326      
2327      *** PROBLEM TEXT ***
2328      strcat(3C) may read beyond the source string onto an unmapped page,
2329      causing a segmentation violation.
2330
2331 \1f
2332 File: xemacs-faq.info,  Node: Q2.1.17,  Next: Q2.1.18,  Prev: Q2.1.16,  Up: Installation
2333
2334 Q2.1.17: `Marker does not point anywhere'
2335 -----------------------------------------
2336
2337 As with other errors, set `debug-on-error' to `t' to get the backtrace
2338 when the error occurs.  Specifically, two problems have been reported
2339 (and fixed).
2340
2341   1. A problem with line-number-mode in XEmacs 19.14 affected a large
2342      number of other packages.  If you see this error message, turn off
2343      line-number-mode.
2344
2345   2. A problem with some early versions of Gnus 5.4 caused this error.
2346      Upgrade your Gnus.
2347
2348 \1f
2349 File: xemacs-faq.info,  Node: Q2.1.18,  Next: Q2.1.19,  Prev: Q2.1.17,  Up: Installation
2350
2351 Q2.1.18: XEmacs is outputting lots of X errors.
2352 -----------------------------------------------
2353
2354 If this is happening, we would very much like to know what's causing
2355 them.  To find this out, see *Note Q2.1.15::.  Try to get both a C and
2356 Lisp backtrace, and send them to <xemacs-beta@xemacs.org>.
2357
2358 \1f
2359 File: xemacs-faq.info,  Node: Q2.1.19,  Next: Q2.1.20,  Prev: Q2.1.18,  Up: Installation
2360
2361 Q2.1.19: XEmacs does not follow the local timezone.
2362 ---------------------------------------------------
2363
2364 When using one of the prebuilt binaries many users have observed that
2365 XEmacs uses the timezone under which it was built, but not the timezone
2366 under which it is running.  The solution is to add:
2367
2368      (set-time-zone-rule "MET")
2369
2370    to your `init.el'/`.emacs' or the `site-start.el' file if you can.
2371 Replace `MET' with your local timezone.
2372
2373 \1f
2374 File: xemacs-faq.info,  Node: Q2.1.20,  Next: Q2.1.21,  Prev: Q2.1.19,  Up: Installation
2375
2376 Q2.1.20: `Symbol's function definition is void: hkey-help-show.'
2377 ----------------------------------------------------------------
2378
2379 This is a problem with a partially loaded hyperbole.  Try adding:
2380
2381      (require 'hmouse-drv)
2382
2383    where you load hyperbole and the problem should go away.
2384
2385 \1f
2386 File: xemacs-faq.info,  Node: Q2.1.21,  Next: Q2.1.22,  Prev: Q2.1.20,  Up: Installation
2387
2388 Q2.1.21: [This question intentionally left blank]
2389 -------------------------------------------------
2390
2391 \1f
2392 File: xemacs-faq.info,  Node: Q2.1.22,  Next: Q2.1.23,  Prev: Q2.1.21,  Up: Installation
2393
2394 Q2.1.22: XEmacs seems to take a really long time to do some things
2395 ------------------------------------------------------------------
2396
2397 David Moore <dmoore@ucsd.edu> writes:
2398
2399      Two things you can do:
2400
2401      1) C level:
2402
2403      When you see it going mad like this, you might want to use gdb
2404      from an 'xterm' to attach to the running process and get a stack
2405      trace.  To do this just run:
2406
2407           gdb /path/to/xemacs/xemacs ####
2408
2409      Where `####' is the process id of your xemacs, instead of
2410      specifying the core.  When gdb attaches, the xemacs will stop [1]
2411      and you can type `where' in gdb to get a stack trace as usual.  To
2412      get things moving again, you can just type `quit' in gdb.  It'll
2413      tell you the program is running and ask if you want to quit
2414      anyways.  Say 'y' and it'll quit and have your emacs continue from
2415      where it was at.
2416
2417      2) Lisp level:
2418
2419      Turn on debug-on-quit early on.  When you think things are going
2420      slow hit C-g and it may pop you in the debugger so you can see
2421      what routine is running.  Press `c' to get going again.
2422
2423      debug-on-quit doesn't work if something's turned on inhibit-quit
2424      or in some other strange cases.
2425
2426 \1f
2427 File: xemacs-faq.info,  Node: Q2.1.23,  Next: Q2.1.24,  Prev: Q2.1.22,  Up: Installation
2428
2429 Q2.1.23:  Movemail on Linux does not work for XEmacs 19.15 and later.
2430 ---------------------------------------------------------------------
2431
2432 Movemail used to work fine in 19.14 but has stopped working in 19.15
2433 and 20.x.  I am using Linux.
2434
2435    SL Baur <steve@xemacs.org> writes:
2436
2437      Movemail on Linux used to default to using flock file locking.
2438      With 19.15 and later versions it now defaults to using `.lock' file
2439      locking.  If this is not appropriate for your system, edit
2440      src/s/linux.h and uncomment the line that reads:
2441
2442           #define MAIL_USE_FLOCK
2443
2444 \1f
2445 File: xemacs-faq.info,  Node: Q2.1.24,  Next: Q2.1.25,  Prev: Q2.1.23,  Up: Installation
2446
2447 Q2.1.24:  XEmacs won't start without network.
2448 ---------------------------------------------
2449
2450 If XEmacs starts when you're on the network, but fails when you're not
2451 on the network, you may be missing a "localhost" entry in your
2452 `/etc/hosts' file.  The file should contain an entry like:
2453
2454      127.0.0.1        localhost
2455
2456    Add that line, and XEmacs will be happy.
2457
2458 \1f
2459 File: xemacs-faq.info,  Node: Q2.1.25,  Prev: Q2.1.24,  Up: Installation
2460
2461 Q2.1.25::  After upgrading, XEmacs won't do `foo' any more!
2462 -----------------------------------------------------------
2463
2464 You have been used to doing `foo', but now when you invoke it (or click
2465 the toolbar button or select the menu item), nothing (or an error)
2466 happens.  The simplest explanation is that you are missing a package
2467 that is essential to you.  You can either track it down and install it
2468 (there is a list of packages and brief descriptions of their contents in
2469 `etc/PACKAGES'), or install the `Sumo Tarball' (*note Q2.0.14::).
2470
2471 \1f
2472 File: xemacs-faq.info,  Node: Customization,  Next: Subsystems,  Prev: Installation,  Up: Top
2473
2474 3 Customization and Options
2475 ***************************
2476
2477 This is part 3 of the XEmacs Frequently Asked Questions list.  This
2478 section is devoted to Customization and screen settings.
2479
2480 * Menu:
2481
2482 Customization---Emacs Lisp and `init.el'/`.emacs':
2483 * Q3.0.1::      What version of Emacs am I running?
2484 * Q3.0.2::      How do I evaluate Elisp expressions?
2485 * Q3.0.3::      `(setq tab-width 6)' behaves oddly.
2486 * Q3.0.4::      How can I add directories to the `load-path'?
2487 * Q3.0.5::      How to check if a lisp function is defined?
2488 * Q3.0.6::      Can I force the output of `(face-list)' to a buffer?
2489 * Q3.0.7::      Font selections don't get saved after `Save Options'.
2490 * Q3.0.8::      How do I make a single minibuffer frame?
2491 * Q3.0.9::      What is `Customize'?
2492
2493 X Window System & Resources:
2494 * Q3.1.1::      Where is a list of X resources?
2495 * Q3.1.2::      How can I detect a color display?
2496 * Q3.1.3::      [This question intentionally left blank]
2497 * Q3.1.4::      [This question intentionally left blank]
2498 * Q3.1.5::      How can I get the icon to just say `XEmacs'?
2499 * Q3.1.6::      How can I have the window title area display the full path?
2500 * Q3.1.7::      `xemacs -name junk' doesn't work?
2501 * Q3.1.8::      `-iconic' doesn't work.
2502
2503 Textual Fonts & Colors:
2504 * Q3.2.1::      How can I set color options from `init.el'/`.emacs'?
2505 * Q3.2.2::      How do I set the text, menu and modeline fonts?
2506 * Q3.2.3::      How can I set the colors when highlighting a region?
2507 * Q3.2.4::      How can I limit color map usage?
2508 * Q3.2.5::      My tty supports color, but XEmacs doesn't use them.
2509 * Q3.2.6::      Can I have pixmap backgrounds in XEmacs?
2510 * Q3.2.7::      How do I display non-ASCII characters?
2511
2512 The Modeline:
2513 * Q3.3.1::      How can I make the modeline go away?
2514 * Q3.3.2::      How do you have XEmacs display the line number in the modeline?
2515 * Q3.3.3::      How do I get XEmacs to put the time of day on the modeline?
2516 * Q3.3.4::      How do I turn off current chapter from AUC TeX modeline?
2517 * Q3.3.5::      How can one change the modeline color based on the mode used?
2518
2519 3.4 Multiple Device Support:
2520 * Q3.4.1::      How do I open a frame on another screen of my multi-headed display?
2521 * Q3.4.2::      Can I really connect to a running XEmacs after calling up over a modem?  How?
2522
2523 3.5 The Keyboard:
2524 * Q3.5.1::      How can I bind complex functions (or macros) to keys?
2525 * Q3.5.2::      How can I stop down-arrow from adding empty lines to the bottom of my buffers?
2526 * Q3.5.3::      How do I bind C-. and C-; to scroll one line up and down?
2527 * Q3.5.4::      Globally binding Delete?
2528 * Q3.5.5::      Scrolling one line at a time.
2529 * Q3.5.6::      How to map Help key alone on Sun type4 keyboard?
2530 * Q3.5.7::      How can you type in special characters in XEmacs?
2531 * Q3.5.8::      [This question intentionally left blank]
2532 * Q3.5.9::      How do I make the Delete key delete forward?
2533 * Q3.5.10::     Can I turn on "sticky" modifier keys?
2534 * Q3.5.11::     How do I map the arrow keys?
2535
2536 The Cursor:
2537 * Q3.6.1::      Is there a way to make the bar cursor thicker?
2538 * Q3.6.2::      Is there a way to get back the old block cursor where the cursor covers the character in front of the point?
2539 * Q3.6.3::      Can I make the cursor blink?
2540
2541 The Mouse and Highlighting:
2542 * Q3.7.1::      How can I turn off Mouse pasting?
2543 * Q3.7.2::      How do I set control/meta/etc modifiers on mouse buttons?
2544 * Q3.7.3::      Clicking the left button does not do anything in buffer list.
2545 * Q3.7.4::      How can I get a list of buffers when I hit mouse button 3?
2546 * Q3.7.5::      Why does cut-and-paste not work between XEmacs and a cmdtool?
2547 * Q3.7.6::      How I can set XEmacs up so that it pastes where the text cursor is?
2548 * Q3.7.7::      How do I select a rectangular region?
2549 * Q3.7.8::      Why does M-w take so long?
2550
2551 The Menubar and Toolbar:
2552 * Q3.8.1::      How do I get rid of the menu (or menubar)?
2553 * Q3.8.2::      Can I customize the basic menubar?
2554 * Q3.8.3::      How do I control how many buffers are listed in the menu `Buffers' list?
2555 * Q3.8.4::      Resources like `Emacs*menubar*font' are not working?
2556 * Q3.8.5::      How can I bind a key to a function to toggle the toolbar?
2557
2558 Scrollbars:
2559 * Q3.9.1::      How can I disable the scrollbar?
2560 * Q3.9.2::      How can one use resources to change scrollbar colors?
2561 * Q3.9.3::      Moving the scrollbar can move the point; can I disable this?
2562 * Q3.9.4::      How can I turn off automatic horizontal scrolling in specific modes?
2563
2564 Text Selections:
2565 * Q3.10.1::     How can I turn off or change highlighted selections?
2566 * Q3.10.2::     How do I get that typing on an active region removes it?
2567 * Q3.10.3::     Can I turn off the highlight during isearch?
2568 * Q3.10.4::     How do I turn off highlighting after C-x C-p (mark-page)?
2569 * Q3.10.5::     The region disappears when I hit the end of buffer while scrolling.
2570 * Q3.10.6::     Why is killing so slow?
2571
2572 \1f
2573 File: xemacs-faq.info,  Node: Q3.0.1,  Next: Q3.0.2,  Prev: Customization,  Up: Customization
2574
2575 3.0: Customization - Emacs Lisp and `init.el'/`.emacs'
2576 ======================================================
2577
2578 Q3.0.1: What version of Emacs am I running?
2579 -------------------------------------------
2580
2581 How can `init.el'/`.emacs' determine which of the family of Emacsen I
2582 am using?
2583
2584    To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
2585 XEmacs 19, XEmacs 20, or Epoch, and use appropriate code, check out the
2586 example given in `etc/sample.init.el' (`etc/sample.emacs' in XEmacs
2587 versions prior to 21.4).  There are other nifty things in there as well!
2588
2589    For all new code, all you really need to do is:
2590
2591      (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
2592
2593 \1f
2594 File: xemacs-faq.info,  Node: Q3.0.2,  Next: Q3.0.3,  Prev: Q3.0.1,  Up: Customization
2595
2596 Q3.0.2: How can I evaluate Emacs-Lisp expressions?
2597 --------------------------------------------------
2598
2599 I know I can evaluate Elisp expressions from `*scratch*' buffer with
2600 `C-j' after the expression.  How do I do it from another buffer?
2601
2602    Press `M-:' (the default binding of `eval-expression'), and enter
2603 the expression to the minibuffer.
2604
2605 \1f
2606 File: xemacs-faq.info,  Node: Q3.0.3,  Next: Q3.0.4,  Prev: Q3.0.2,  Up: Customization
2607
2608 Q3.0.3: `(setq tab-width 6)' behaves oddly.
2609 -------------------------------------------
2610
2611 If you put `(setq tab-width 6)' in your `init.el'/`.emacs' file it does
2612 not work!  Is there a reason for this?  If you do it at the EVAL prompt
2613 it works fine!! How strange.
2614
2615    Use `setq-default' instead, since `tab-width' is all-buffer-local.
2616
2617 \1f
2618 File: xemacs-faq.info,  Node: Q3.0.4,  Next: Q3.0.5,  Prev: Q3.0.3,  Up: Customization
2619
2620 Q3.0.4: How can I add directories to the `load-path'?
2621 -----------------------------------------------------
2622
2623 Here are two ways to do that, one that puts your directories at the
2624 front of the load-path, the other at the end:
2625
2626      ;;; Add things at the beginning of the load-path, do not add
2627      ;;; duplicate directories:
2628      (pushnew "bar" load-path :test 'equal)
2629      
2630      (pushnew "foo" load-path :test 'equal)
2631      
2632      ;;; Add things at the end, unconditionally
2633      (setq load-path (nconc load-path '("foo" "bar")))
2634
2635    keith (k.p.) hanlan <keithh@nortel.ca> writes:
2636
2637      To add directories using Unix shell metacharacters use
2638      `expand-file-name' like this:
2639
2640           (push (expand-file-name "~keithh/.emacsdir") load-path)
2641
2642 \1f
2643 File: xemacs-faq.info,  Node: Q3.0.5,  Next: Q3.0.6,  Prev: Q3.0.4,  Up: Customization
2644
2645 Q3.0.5: How to check if a lisp function is defined?
2646 ---------------------------------------------------
2647
2648 Use the following elisp:
2649
2650      (fboundp 'foo)
2651
2652    It's almost always a mistake to test `emacs-version' or any similar
2653 variables.
2654
2655    Instead, use feature-tests, such as `featurep', `boundp', `fboundp',
2656 or even simple behavioral tests, eg.:
2657
2658      (defvar foo-old-losing-code-p
2659        (condition-case nil (progn (losing-code t) nil)
2660          (wrong-number-of-arguments t)))
2661
2662    There is an incredible amount of broken code out there which could
2663 work much better more often in more places if it did the above instead
2664 of trying to divine its environment from the value of one variable.
2665
2666 \1f
2667 File: xemacs-faq.info,  Node: Q3.0.6,  Next: Q3.0.7,  Prev: Q3.0.5,  Up: Customization
2668
2669 Q3.0.6: Can I force the output of `(face-list)' to a buffer?
2670 ------------------------------------------------------------
2671
2672 It would be good having it in a buffer, as the output of `(face-list)'
2673 is too wide to fit to a minibuffer.
2674
2675    Evaluate the expression in the `*scratch*' buffer with point after
2676 the rightmost paren and typing `C-j'.
2677
2678    If the minibuffer smallness is the only problem you encounter, you
2679 can simply press `C-h l' to get the former minibuffer contents in a
2680 buffer.
2681
2682 \1f
2683 File: xemacs-faq.info,  Node: Q3.0.7,  Next: Q3.0.8,  Prev: Q3.0.6,  Up: Customization
2684
2685 Q3.0.7: Font selections in don't get saved after `Save Options'.
2686 ----------------------------------------------------------------
2687
2688 John Mann <mannj@ll.mit.edu> writes:
2689
2690      You have to go to Options->Frame Appearance and unselect
2691      `Frame-Local Font Menu'.  If this option is selected, font changes
2692      are only applied to the _current_ frame and do _not_ get saved
2693      when you save options.
2694
2695    Also, set the following in your `init.el'/`.emacs':
2696
2697      (setq options-save-faces t)
2698
2699 \1f
2700 File: xemacs-faq.info,  Node: Q3.0.8,  Next: Q3.0.9,  Prev: Q3.0.7,  Up: Customization
2701
2702 Q3.0.8: How do I get a single minibuffer frame?
2703 -----------------------------------------------
2704
2705 Vin Shelton <acs@acm.org> writes:
2706
2707      (setq initial-frame-plist '(minibuffer nil))
2708      (setq default-frame-plist '(minibuffer nil))
2709      (setq default-minibuffer-frame
2710            (make-frame
2711             '(minibuffer only
2712                          width 86
2713                          height 1
2714                          menubar-visible-p nil
2715                          default-toolbar-visible-p nil
2716                          name "minibuffer"
2717                          top -2
2718                          left -2
2719                          has-modeline-p nil)))
2720      (frame-notice-user-settings)
2721
2722    *Please note:* The single minibuffer frame may not be to everyone's
2723 taste, and there any number of other XEmacs options settings that may
2724 make it difficult or inconvenient to use.
2725
2726 \1f
2727 File: xemacs-faq.info,  Node: Q3.0.9,  Next: Q3.1.1,  Prev: Q3.0.8,  Up: Customization
2728
2729 Q3.0.9: What is `Customize'?
2730 ----------------------------
2731
2732 Starting with XEmacs 20.2 there is new system 'Customize' for
2733 customizing XEmacs options.
2734
2735    You can access `Customize' from the `Options' menu or invoking one
2736 of customize commands by typing eg.  `M-x customize', `M-x
2737 customize-face', `M-x customize-variable' or `M-x customize-apropos'.
2738
2739    Starting with XEmacs 20.3 there is also new `browser' mode for
2740 Customize.  Try it out with `M-x customize-browse'
2741
2742 \1f
2743 File: xemacs-faq.info,  Node: Q3.1.1,  Next: Q3.1.2,  Prev: Q3.0.9,  Up: Customization
2744
2745 3.1: X Window System & Resources
2746 ================================
2747
2748 Q3.1.1: Where is a list of X resources?
2749 ---------------------------------------
2750
2751 Search through the `NEWS' file for `X Resources'.  A fairly
2752 comprehensive list is given after it.
2753
2754    In addition, an `app-defaults' file `etc/Emacs.ad' is supplied,
2755 listing the defaults.  The file `etc/sample.Xresources' gives a
2756 different set of defaults that you might consider for installation in
2757 your `~/.Xresources' file.  It is nearly the same as `etc/Emacs.ad',
2758 but a few entries are altered.  Be careful about installing the
2759 contents of this file into your `.Xresources' (or legacy `.Xdefaults')
2760 file if you use GNU Emacs under X11 as well.
2761
2762 \1f
2763 File: xemacs-faq.info,  Node: Q3.1.2,  Next: Q3.1.3,  Prev: Q3.1.1,  Up: Customization
2764
2765 Q3.1.2: How can I detect a color display?
2766 -----------------------------------------
2767
2768 You can test the return value of the function `(device-class)', as in:
2769
2770      (when (eq (device-class) 'color)
2771        (set-face-foreground  'font-lock-comment-face "Grey")
2772        (set-face-foreground  'font-lock-string-face  "Red")
2773        ....
2774        )
2775
2776 \1f
2777 File: xemacs-faq.info,  Node: Q3.1.3,  Next: Q3.1.4,  Prev: Q3.1.2,  Up: Customization
2778
2779 Q3.1.3: [This question intentionally left blank]
2780 ------------------------------------------------
2781
2782 \1f
2783 File: xemacs-faq.info,  Node: Q3.1.4,  Next: Q3.1.5,  Prev: Q3.1.3,  Up: Customization
2784
2785 Q3.1.4: [This question intentionally left blank]
2786 ------------------------------------------------
2787
2788 \1f
2789 File: xemacs-faq.info,  Node: Q3.1.5,  Next: Q3.1.6,  Prev: Q3.1.4,  Up: Customization
2790
2791 Q3.1.5: How can I get the icon to just say `XEmacs'?
2792 ----------------------------------------------------
2793
2794 I'd like the icon to just say `XEmacs', and not include the name of the
2795 current file in it.
2796
2797    Add the following line to your `init.el'/`.emacs':
2798
2799      (setq frame-icon-title-format "XEmacs")
2800
2801 \1f
2802 File: xemacs-faq.info,  Node: Q3.1.6,  Next: Q3.1.7,  Prev: Q3.1.5,  Up: Customization
2803
2804 Q3.1.6: How can I have the window title area display the full path?
2805 -------------------------------------------------------------------
2806
2807 I'd like to have the window title area display the full directory/name
2808 of the current buffer file and not just the name.
2809
2810    Add the following line to your `init.el'/`.emacs':
2811
2812      (setq frame-title-format "%S: %f")
2813
2814    A more sophisticated title might be:
2815
2816      (setq frame-title-format
2817            '("%S: " (buffer-file-name "%f"
2818                                       (dired-directory dired-directory "%b"))))
2819
2820    That is, use the file name, or the dired-directory, or the buffer
2821 name.
2822
2823 \1f
2824 File: xemacs-faq.info,  Node: Q3.1.7,  Next: Q3.1.8,  Prev: Q3.1.6,  Up: Customization
2825
2826 Q3.1.7: `xemacs -name junk' doesn't work?
2827 -----------------------------------------
2828
2829 When I run `xterm -name junk', I get an xterm whose class name
2830 according to xprop, is `junk'.  This is the way it's supposed to work,
2831 I think.  When I run `xemacs -name junk' the class name is not set to
2832 `junk'.  It's still `emacs'.  What does `xemacs -name' really do?  The
2833 reason I ask is that my window manager (fvwm) will make a window sticky
2834 and I use XEmacs to read my mail.  I want that XEmacs window to be
2835 sticky, without having to use the window manager's function to set the
2836 window sticky.  What gives?
2837
2838    `xemacs -name' sets the application name for the program (that is,
2839 the thing which normally comes from `argv[0]').  Using `-name' is the
2840 same as making a copy of the executable with that new name.  The
2841 `WM_CLASS' property on each frame is set to the frame-name, and the
2842 application-class.  So, if you did `xemacs -name FOO' and then created
2843 a frame named BAR, you'd get an X window with WM_CLASS = `( "BAR",
2844 "Emacs")'.  However, the resource hierarchy for this widget would be:
2845
2846      Name:    FOO   .shell             .container   .BAR
2847      Class:   Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
2848
2849    instead of the default
2850
2851      Name:    xemacs.shell             .container   .emacs
2852      Class:   Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
2853
2854    It is arguable that the first element of WM_CLASS should be set to
2855 the application-name instead of the frame-name, but I think that's less
2856 flexible, since it does not give you the ability to have multiple frames
2857 with different WM_CLASS properties.  Another possibility would be for
2858 the default frame name to come from the application name instead of
2859 simply being `emacs'.  However, at this point, making that change would
2860 be troublesome: it would mean that many users would have to make yet
2861 another change to their resource files (since the default frame name
2862 would suddenly change from `emacs' to `xemacs', or whatever the
2863 executable happened to be named), so we'd rather avoid it.
2864
2865    To make a frame with a particular name use:
2866
2867      (make-frame '((name . "the-name")))
2868
2869 \1f
2870 File: xemacs-faq.info,  Node: Q3.1.8,  Next: Q3.2.1,  Prev: Q3.1.7,  Up: Customization
2871
2872 Q3.1.8: `-iconic' doesn't work.
2873 -------------------------------
2874
2875 When I start up XEmacs using `-iconic' it doesn't work right.  Using
2876 `-unmapped' on the command line, and setting the `initiallyUnmapped' X
2877 Resource don't seem to help much either...
2878
2879    Ben Wing <ben@xemacs.org> writes:
2880
2881      Ugh, this stuff is such an incredible mess that I've about given up
2882      getting it to work.  The principal problem is numerous
2883      window-manager bugs...
2884
2885 \1f
2886 File: xemacs-faq.info,  Node: Q3.2.1,  Next: Q3.2.2,  Prev: Q3.1.8,  Up: Customization
2887
2888 3.2: Textual Fonts & Colors
2889 ===========================
2890
2891 Q3.2.1: How can I set color options from `init.el'/`.emacs'?
2892 ------------------------------------------------------------
2893
2894 How can I set the most commonly used color options from my
2895 `init.el'/`.emacs' instead of from my `.Xresources'?
2896
2897    Like this:
2898
2899      (set-face-background 'default      "bisque") ; frame background
2900      (set-face-foreground 'default      "black") ; normal text
2901      (set-face-background 'zmacs-region "red") ; When selecting w/
2902                                              ; mouse
2903      (set-face-foreground 'zmacs-region "yellow")
2904      (set-face-font       'default      "*courier-bold-r*120-100-100*")
2905      (set-face-background 'highlight    "blue") ; Ie when selecting
2906                                              ; buffers
2907      (set-face-foreground 'highlight    "yellow")
2908      (set-face-background 'modeline     "blue") ; Line at bottom
2909                                              ; of buffer
2910      (set-face-foreground 'modeline     "white")
2911      (set-face-font       'modeline     "*bold-r-normal*140-100-100*")
2912      (set-face-background 'isearch      "yellow") ; When highlighting
2913                                              ; while searching
2914      (set-face-foreground 'isearch      "red")
2915      (setq x-pointer-foreground-color   "black") ; Adds to bg color,
2916                                              ; so keep black
2917      (setq x-pointer-background-color   "blue") ; This is color
2918                                              ; you really
2919                                              ; want ptr/crsr
2920
2921 \1f
2922 File: xemacs-faq.info,  Node: Q3.2.2,  Next: Q3.2.3,  Prev: Q3.2.1,  Up: Customization
2923
2924 Q3.2.2: How do I set the text, menu and modeline fonts?
2925 -------------------------------------------------------
2926
2927 Note that you should use `Emacs.' and not `Emacs*' when setting face
2928 values.
2929
2930    In `.Xresources':
2931
2932      Emacs.default.attributeFont:  -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
2933      Emacs*menubar*font:           fixed
2934      Emacs.modeline.attributeFont: fixed
2935
2936    This is confusing because `default' and `modeline' are face names,
2937 and can be found listed with all faces in the current mode by using
2938 `M-x set-face-font (enter) ?'.  They use the face-specific resource
2939 `attributeFont'.
2940
2941    On the other hand, `menubar' is a normal X thing that uses the
2942 resource `font'.  With Motif it _may be_ necessary to use `fontList'
2943 _instead of_ `font'.  In _non-Motif_ configurations with Mule it _is_
2944 necessary to use `fontSet' instead of `font'.  (Sorry, there just is no
2945 simple recipe here.)
2946
2947 \1f
2948 File: xemacs-faq.info,  Node: Q3.2.3,  Next: Q3.2.4,  Prev: Q3.2.2,  Up: Customization
2949
2950 Q3.2.3: How can I set the colors when highlighting a region?
2951 ------------------------------------------------------------
2952
2953 How can I set the background/foreground colors when highlighting a
2954 region?
2955
2956    You can change the face `zmacs-region' either in your `.Xresources':
2957
2958      Emacs.zmacs-region.attributeForeground: firebrick
2959      Emacs.zmacs-region.attributeBackground: lightseagreen
2960
2961    or in your `init.el'/`.emacs':
2962
2963      (set-face-background 'zmacs-region "red")
2964      (set-face-foreground 'zmacs-region "yellow")
2965
2966 \1f
2967 File: xemacs-faq.info,  Node: Q3.2.4,  Next: Q3.2.5,  Prev: Q3.2.3,  Up: Customization
2968
2969 Q3.2.4: How can I limit color map usage?
2970 ----------------------------------------
2971
2972 I'm using Netscape (or another color grabber like XEmacs); is there any
2973 way to limit the number of available colors in the color map?
2974
2975    Answer: No, but you can start Netscape before XEmacs, and it will use
2976 the closest available color if the colormap is full.  You can also limit
2977 the number of colors Netscape uses, using the flags -mono, -ncols <#> or
2978 -install (for mono, limiting to <#> colors, or for using a private color
2979 map).
2980
2981    If you have the money, another solution would be to use a truecolor
2982 or direct color video.
2983
2984 \1f
2985 File: xemacs-faq.info,  Node: Q3.2.5,  Next: Q3.2.6,  Prev: Q3.2.4,  Up: Customization
2986
2987 Q3.2.5: My tty supports color, but XEmacs doesn't use them.
2988 -----------------------------------------------------------
2989
2990 XEmacs tries to automatically determine whether your tty supports color,
2991 but sometimes guesses wrong.  In that case, you can make XEmacs Do The
2992 Right Thing using this Lisp code:
2993
2994      (if (eq 'tty (device-type))
2995          (set-device-class nil 'color))
2996
2997 \1f
2998 File: xemacs-faq.info,  Node: Q3.2.6,  Next: Q3.2.7,  Prev: Q3.2.5,  Up: Customization
2999
3000 Q3.2.6: Can I have pixmap backgrounds in XEmacs?
3001 ------------------------------------------------
3002
3003 Juan Villacis <jvillaci@wahnsinnig.extreme.indiana.edu> writes:
3004
3005      There are several ways to do it.  For example, you could specify a
3006      default pixmap image to use in your `~/.Xresources', e.g.,
3007
3008             Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
3009
3010      and then reload ~/.Xresources and restart XEmacs.  Alternatively,
3011      since each face can have its own pixmap background, a better way
3012      would be to set a face's pixmap within your XEmacs init file, e.g.,
3013
3014             (set-face-background-pixmap 'default "/path/to/image.xpm")
3015             (set-face-background-pixmap 'bold    "/path/to/another_image.xpm")
3016
3017      and so on.  You can also do this interactively via `M-x
3018      edit-faces'.
3019
3020
3021 \1f
3022 File: xemacs-faq.info,  Node: Q3.2.7,  Next: Q3.3.1,  Prev: Q3.2.6,  Up: Customization
3023
3024 Q3.2.7: How do I display non-ASCII characters?
3025 ----------------------------------------------
3026
3027 If you're using a Mule-enabled XEmacs, then display is automatic.  If
3028 you're not seeing the characters you expect, either (1) you don't have
3029 appropriate fonts available or (2) XEmacs did not correctly detect the
3030 coding system (*note Recognize Coding: (xemacs)Recognize Coding.).  In
3031 case (1), install fonts as is customary for your platform.  In case
3032 (2), you need to tell XEmacs explicitly what coding systems you're
3033 using.  *Note Specify Coding: (xemacs)Specify Coding.
3034
3035    If your XEmacs is not Mule-enabled, and for some reason getting a
3036 Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
3037 You can arrange it by brute force.  In `event-Xt.c' (suppress the urge
3038 to look in this file--play Doom instead, because you'll survive
3039 longer), it is written:
3040
3041      In a non-Mule world, a user can still have a multi-lingual editor,
3042      by doing `(set-face-font "-*-iso8859-2" (current-buffer))' for all
3043      their Latin-2 buffers, etc.
3044
3045    For the related problem of _inputting_ non-ASCII characters in a
3046 non-Mule XEmacs, *Note Q3.5.7::.
3047
3048 \1f
3049 File: xemacs-faq.info,  Node: Q3.3.1,  Next: Q3.3.2,  Prev: Q3.2.7,  Up: Customization
3050
3051 3.3: The Modeline
3052 =================
3053
3054 Q3.3.1: How can I make the modeline go away?
3055 --------------------------------------------
3056
3057      (set-specifier has-modeline-p nil)
3058
3059 \1f
3060 File: xemacs-faq.info,  Node: Q3.3.2,  Next: Q3.3.3,  Prev: Q3.3.1,  Up: Customization
3061
3062 Q3.3.2: How do you have XEmacs display the line number in the modeline?
3063 -----------------------------------------------------------------------
3064
3065 Add the following line to your `init.el'/`.emacs' file to display the
3066 line number:
3067
3068      (line-number-mode 1)
3069
3070    Use the following to display the column number:
3071
3072      (column-number-mode 1)
3073
3074    Or select from the `Options' menu `Advanced
3075 (Customize)->Emacs->Editing->Basics->Line Number Mode' and/or `Advanced
3076 (Customize)->Emacs->Editing->Basics->Column Number Mode'
3077
3078    Or type `M-x customize <RET> editing-basics <RET>'.
3079
3080 \1f
3081 File: xemacs-faq.info,  Node: Q3.3.3,  Next: Q3.3.4,  Prev: Q3.3.2,  Up: Customization
3082
3083 Q3.3.3: How do I get XEmacs to put the time of day on the modeline?
3084 -------------------------------------------------------------------
3085
3086 Add the following line to your `init.el'/`.emacs' file to display the
3087 time:
3088
3089      (display-time)
3090
3091    See `Customize' from the `Options' menu for customization.
3092
3093 \1f
3094 File: xemacs-faq.info,  Node: Q3.3.4,  Next: Q3.3.5,  Prev: Q3.3.3,  Up: Customization
3095
3096 Q3.3.4: How do I turn off current chapter from AUC TeX modeline?
3097 ----------------------------------------------------------------
3098
3099 With AUC TeX, fast typing is hard because the current chapter, section
3100 etc. are given in the modeline.  How can I turn this off?
3101
3102    It's not AUC TeX, it comes from `func-menu' in `func-menu.el'.
3103
3104    David Hughes <dhughes@origin-at.co.uk> writes:
3105
3106      Try this; you'll still get the function name displayed in the
3107      modeline, but it won't attempt to keep track when you modify the
3108      file. To refresh when it gets out of synch, you simply need click
3109      on the `Rescan Buffer' option in the function-menu.
3110
3111           (setq-default fume-auto-rescan-buffer-p nil)
3112
3113 \1f
3114 File: xemacs-faq.info,  Node: Q3.3.5,  Next: Q3.4.1,  Prev: Q3.3.4,  Up: Customization
3115
3116 Q3.3.5: How can one change the modeline color based on the mode used?
3117 ---------------------------------------------------------------------
3118
3119 You can use something like the following:
3120
3121      (add-hook 'lisp-mode-hook
3122                (lambda ()
3123                  (set-face-background 'modeline "red" (current-buffer))))
3124
3125    Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
3126 colors change from the default set in your `init.el'/`.emacs'.  The
3127 change will only be made in the buffer you just entered (which contains
3128 the Lisp file you are editing) and will not affect the modeline colors
3129 anywhere else.
3130
3131    Notes:
3132
3133    * The hook is the mode name plus `-hook'.  eg. c-mode-hook,
3134      c++-mode-hook, emacs-lisp-mode-hook (used for your
3135      `init.el'/`.emacs' or a `xx.el' file), lisp-interaction-mode-hook
3136      (the `*scratch*' buffer), text-mode-hook, etc.
3137
3138    * Be sure to use `add-hook', not `(setq c-mode-hook xxxx)',
3139      otherwise you will erase anything that anybody has already put on
3140      the hook.
3141
3142    * You can also do `(set-face-font 'modeline FONT)', eg.
3143      `(set-face-font 'modeline "*bold-r-normal*140-100-100*"
3144      (current-buffer))' if you wish the modeline font to vary based on
3145      the current mode.
3146
3147    There are additional modeline faces, `modeline-buffer-id',
3148 `modeline-mousable', and `modeline-mousable-minor-mode', which you may
3149 want to customize.
3150
3151 \1f
3152 File: xemacs-faq.info,  Node: Q3.4.1,  Next: Q3.4.2,  Prev: Q3.3.5,  Up: Customization
3153
3154 3.4: Multiple Device Support
3155 ============================
3156
3157 Q3.4.1: How do I open a frame on another screen of my multi-headed display?
3158 ---------------------------------------------------------------------------
3159
3160 Use the command `M-x make-frame-on-display'.  This command is also on
3161 the File menu in the menubar.
3162
3163    The command `make-frame-on-tty' also exists, which will establish a
3164 connection to any tty-like device.  Opening the TTY devices should be
3165 left to `gnuclient', though.
3166
3167 \1f
3168 File: xemacs-faq.info,  Node: Q3.4.2,  Next: Q3.5.1,  Prev: Q3.4.1,  Up: Customization
3169
3170 Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem?  How?
3171 -------------------------------------------------------------------------------------
3172
3173 Yes.  Use `gnuclient -nw'. (Prior to 20.3, use the `gnuattach' program
3174 supplied with XEmacs instead.)
3175
3176    Also see *Note Q5.0.12::.
3177
3178 \1f
3179 File: xemacs-faq.info,  Node: Q3.5.1,  Next: Q3.5.2,  Prev: Q3.4.2,  Up: Customization
3180
3181 3.5: The Keyboard
3182 =================
3183
3184 Q3.5.1: How can I bind complex functions (or macros) to keys?
3185 -------------------------------------------------------------
3186
3187 As an example, say you want the `paste' key on a Sun keyboard to insert
3188 the current Primary X selection at point. You can accomplish this with:
3189
3190      (define-key global-map [f18] 'x-insert-selection)
3191
3192    However, this only works if there is a current X selection (the
3193 selection will be highlighted).  The functionality I like is for the
3194 `paste' key to insert the current X selection if there is one,
3195 otherwise insert the contents of the clipboard.  To do this you need to
3196 pass arguments to `x-insert-selection'.  This is done by wrapping the
3197 call in a 'lambda form:
3198
3199      (global-set-key [f18]
3200        (lambda () (interactive) (x-insert-selection t nil)))
3201
3202    This binds the f18 key to a "generic" functional object.  The
3203 interactive spec is required because only interactive functions can be
3204 bound to keys.
3205
3206    For the FAQ example you could use:
3207
3208      (global-set-key [(control ?.)]
3209        (lambda () (interactive) (scroll-up 1)))
3210      (global-set-key [(control ?;)]
3211        (lambda () (interactive) (scroll-up -1)))
3212
3213    This is fine if you only need a few functions within the lambda body.
3214 If you're doing more it's cleaner to define a separate function as in
3215 question 3.5.3 (*note Q3.5.3::).
3216
3217 \1f
3218 File: xemacs-faq.info,  Node: Q3.5.2,  Next: Q3.5.3,  Prev: Q3.5.1,  Up: Customization
3219
3220 Q3.5.2: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
3221 --------------------------------------------------------------------------------------
3222
3223 Add the following line to your `init.el'/`.emacs' file:
3224
3225      (setq next-line-add-newlines nil)
3226
3227    This has been the default setting in XEmacs for some time.
3228
3229 \1f
3230 File: xemacs-faq.info,  Node: Q3.5.3,  Next: Q3.5.4,  Prev: Q3.5.2,  Up: Customization
3231
3232 Q3.5.3: How do I bind C-. and C-; to scroll one line up and down?
3233 -----------------------------------------------------------------
3234
3235 Add the following (Thanks to Richard Mlynarik <mly@adoc.xerox.com> and
3236 Wayne Newberry <wayne@zen.cac.stratus.com>) to `.emacs':
3237
3238      (defun scroll-up-one-line ()
3239        (interactive)
3240        (scroll-up 1))
3241      
3242      (defun scroll-down-one-line ()
3243        (interactive)
3244        (scroll-down 1))
3245      
3246      (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
3247      (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
3248
3249    The key point is that you can only bind simple functions to keys; you
3250 can not bind a key to a function that you're also passing arguments to.
3251 (*note Q3.5.1:: for a better answer).
3252
3253 \1f
3254 File: xemacs-faq.info,  Node: Q3.5.4,  Next: Q3.5.5,  Prev: Q3.5.3,  Up: Customization
3255
3256 Q3.5.4: Globally binding `Delete'?
3257 ----------------------------------
3258
3259 I cannot manage to globally bind my `Delete' key to something other
3260 than the default.  How does one do this?
3261
3262    Answer: The problem is that many modes explicitly bind `Delete'.  To
3263 get around this, try the following:
3264
3265      (defun foo ()
3266        (interactive)
3267        (message "You hit DELETE"))
3268      
3269      (define-key key-translation-map 'delete 'redirected-delete)
3270      (global-set-key 'redirected-delete 'foo)
3271
3272    Also see *Note Q3.5.10::.
3273
3274 \1f
3275 File: xemacs-faq.info,  Node: Q3.5.5,  Next: Q3.5.6,  Prev: Q3.5.4,  Up: Customization
3276
3277 Q3.5.5: Scrolling one line at a time.
3278 -------------------------------------
3279
3280 Can the cursor keys scroll the screen a line at a time, rather than the
3281 default half page jump?  I tend it to find it disorienting.
3282
3283    Try this:
3284
3285      (defun scroll-one-line-up (&optional arg)
3286        "Scroll the selected window up (forward in the text) one line (or N lines)."
3287        (interactive "p")
3288        (scroll-up (or arg 1)))
3289      
3290      (defun scroll-one-line-down (&optional arg)
3291        "Scroll the selected window down (backward in the text) one line (or N)."
3292        (interactive "p")
3293        (scroll-down (or arg 1)))
3294      
3295      (global-set-key [up]   'scroll-one-line-up)
3296      (global-set-key [down] 'scroll-one-line-down)
3297
3298    The following will also work but will affect more than just the
3299 cursor keys (i.e. `C-n' and `C-p'):
3300
3301      (setq scroll-step 1)
3302
3303    Starting with XEmacs-20.3 you can also change this with Customize.
3304 Select from the `Options' menu `Advanced
3305 (Customize)->Emacs->Environment->Windows->Scroll Step...' or type `M-x
3306 customize <RET> windows <RET>'.
3307
3308 \1f
3309 File: xemacs-faq.info,  Node: Q3.5.6,  Next: Q3.5.7,  Prev: Q3.5.5,  Up: Customization
3310
3311 Q3.5.6: How to map `Help' key alone on Sun type4 keyboard?
3312 ----------------------------------------------------------
3313
3314 The following works in GNU Emacs 19:
3315
3316      (global-set-key [help] 'help-command);; Help
3317
3318    The following works in XEmacs with the addition of shift:
3319
3320      (global-set-key [(shift help)] 'help-command);; Help
3321
3322    But it doesn't work alone.  This is in the file `PROBLEMS' which
3323 should have come with your XEmacs installation: _Emacs ignores the
3324 `help' key when running OLWM_.
3325
3326    OLWM grabs the `help' key, and retransmits it to the appropriate
3327 client using `XSendEvent'.  Allowing Emacs to react to synthetic events
3328 is a security hole, so this is turned off by default.  You can enable
3329 it by setting the variable `x-allow-sendevents' to t.  You can also
3330 cause fix this by telling OLWM to not grab the help key, with the null
3331 binding `OpenWindows.KeyboardCommand.Help:'.
3332
3333 \1f
3334 File: xemacs-faq.info,  Node: Q3.5.7,  Next: Q3.5.8,  Prev: Q3.5.6,  Up: Customization
3335
3336 Q3.5.7: How can you type in special characters in XEmacs?
3337 ---------------------------------------------------------
3338
3339 One way is to use the package `x-compose'.  Then you can use sequences
3340 like `Compose " a' to get ä, etc.
3341
3342    Another way is to use the `iso-insert' package. Then you can use
3343 sequences like `C-x 8 " a' to get ä, etc.
3344
3345    Glynn Clements <glynn@sensei.co.uk> writes:
3346
3347      It depends upon your X server.
3348
3349      Generally, the simplest way is to define a key as Multi_key with
3350      xmodmap, e.g.
3351                   xmodmap -e 'keycode 0xff20 = Multi_key'
3352
3353      You will need to pick an appropriate keycode. Use xev to find out
3354      the keycodes for each key.
3355
3356      [NB: On a `Windows' keyboard, recent versions of XFree86
3357      automatically define the right `Windows' key as Multi_key'.]
3358
3359      Once you have Multi_key defined, you can use e.g.
3360                   Multi a '       => á
3361                   Multi e "       => ë
3362                   Multi c ,       => ç
3363
3364      etc.
3365
3366      Also, recent versions of XFree86 define various AltGr-<key>
3367      combinations as dead keys, i.e.
3368                   AltGr [         => dead_diaeresis
3369                   AltGr ]         => dead_tilde
3370                   AltGr ;         => dead_acute
3371      etc.
3372
3373      Running `xmodmap -pk' will list all of the defined keysyms.
3374
3375    For the related problem of _displaying_ non-ASCII characters in a
3376 non-Mule XEmacs, *Note Q3.2.7::.
3377
3378 \1f
3379 File: xemacs-faq.info,  Node: Q3.5.8,  Next: Q3.5.9,  Prev: Q3.5.7,  Up: Customization
3380
3381 Q3.5.8: [This question intentionally left blank]
3382 ------------------------------------------------
3383
3384 Obsolete question, left blank to avoid renumbering.
3385
3386 \1f
3387 File: xemacs-faq.info,  Node: Q3.5.9,  Next: Q3.5.10,  Prev: Q3.5.8,  Up: Customization
3388
3389 Q3.5.9: How do I make the Delete key delete forward?
3390 ----------------------------------------------------
3391
3392 With XEmacs-20.2 use the `delbs' package:
3393
3394      (require 'delbs)
3395
3396    This will give you the functions `delbs-enable-delete-forward' to
3397 set things up, and `delbs-disable-delete-forward' to revert to "normal"
3398 behavior.  Note that `delbackspace' package is obsolete.
3399
3400    Starting with XEmacs-20.3 better solution is to set variable
3401 `delete-key-deletes-forward' to t.  You can also change this with
3402 Customize. Select from the `Options' menu `Advanced
3403 (Customize)->Emacs->Editing->Basics->Delete Key Deletes Forward' or
3404 type `M-x customize <RET> editing-basics <RET>'.
3405
3406    Also see *Note Q3.5.4::.
3407
3408 \1f
3409 File: xemacs-faq.info,  Node: Q3.5.10,  Next: Q3.5.11,  Prev: Q3.5.9,  Up: Customization
3410
3411 Q3.5.10: Can I turn on "sticky" modifier keys?
3412 ----------------------------------------------
3413
3414 Yes, with `(setq modifier-keys-are-sticky t)'.  This will give the
3415 effect of being able to press and release Shift and have the next
3416 character typed come out in upper case.  This will affect all the other
3417 modifier keys like Control and Meta as well.
3418
3419    Ben Wing <ben@xemacs.org> writes:
3420
3421      One thing about the sticky modifiers is that if you move the mouse
3422      out of the frame and back in, it cancels all currently "stuck"
3423      modifiers.
3424
3425 \1f
3426 File: xemacs-faq.info,  Node: Q3.5.11,  Next: Q3.6.1,  Prev: Q3.5.10,  Up: Customization
3427
3428 Q3.5.11: How do I map the arrow keys?
3429 -------------------------------------
3430
3431 Say you want to map `C-<right>' to forward-word:
3432
3433    Sam Steingold <sds@usa.net> writes:
3434
3435           ; both XEmacs and Emacs
3436           (define-key global-map [(control right)] 'forward-word)
3437      or
3438      &nbs