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           ; Emacs only
3439           (define-key global-map [C-right] 'forward-word)
3440      or
3441           ; ver > 20, both
3442           (define-key global-map (kbd "C-<right>") 'forward-word)
3443
3444 \1f
3445 File: xemacs-faq.info,  Node: Q3.6.1,  Next: Q3.6.2,  Prev: Q3.5.11,  Up: Customization
3446
3447 3.6: The Cursor
3448 ===============
3449
3450 Q3.6.1: Is there a way to make the bar cursor thicker?
3451 ------------------------------------------------------
3452
3453 I'd like to have the bar cursor a little thicker, as I tend to "lose" it
3454 often.
3455
3456    For a 1 pixel bar cursor, use:
3457
3458      (setq bar-cursor t)
3459
3460    For a 2 pixel bar cursor, use:
3461
3462      (setq bar-cursor 'anything-else)
3463
3464    Starting with XEmacs-20.3 you can also change these with Customize.
3465 Select from the `Options' menu `Advanced
3466 (Customize)->Emacs->Environment->Display->Bar Cursor...' or type `M-x
3467 customize <RET> display <RET>'.
3468
3469    You can use a color to make it stand out better:
3470
3471      Emacs*cursorColor:      Red
3472
3473 \1f
3474 File: xemacs-faq.info,  Node: Q3.6.2,  Next: Q3.6.3,  Prev: Q3.6.1,  Up: Customization
3475
3476 Q3.6.2: Is there a way to get back the block cursor?
3477 ----------------------------------------------------
3478
3479      (setq bar-cursor nil)
3480
3481    Starting with XEmacs 20.3 you can also change this with Customize.
3482 Select from the `Options' menu `Advanced
3483 (Customize)->Emacs->Environment->Display->Bar Cursor...' or type `M-x
3484 customize <RET> display <RET>'.
3485
3486 \1f
3487 File: xemacs-faq.info,  Node: Q3.6.3,  Next: Q3.7.1,  Prev: Q3.6.2,  Up: Customization
3488
3489 Q3.6.3: Can I make the cursor blink?
3490 ------------------------------------
3491
3492 Yes, like this:
3493
3494      (blink-cursor-mode)
3495
3496    This function toggles between a steady cursor and a blinking cursor.
3497 You may also set this mode from the menu bar by selecting `Options =>
3498 Frame Appearance => Blinking Cursor'.  Remember to save options.
3499
3500 \1f
3501 File: xemacs-faq.info,  Node: Q3.7.1,  Next: Q3.7.2,  Prev: Q3.6.3,  Up: Customization
3502
3503 3.7: The Mouse and Highlighting
3504 ===============================
3505
3506 Q3.7.1: How can I turn off Mouse pasting?
3507 -----------------------------------------
3508
3509 I keep hitting the middle mouse button by accident and getting stuff
3510 pasted into my buffer so how can I turn this off?
3511
3512    Here is an alternative binding, whereby the middle mouse button
3513 selects (but does not cut) the expression under the mouse. Clicking
3514 middle on a left or right paren will select to the matching one.  Note
3515 that you can use `define-key' or `global-set-key'.
3516
3517      (defun mouse-set-point-and-select (event)
3518        "Sets the point at the mouse location, then marks following form"
3519        (interactive "@e")
3520        (mouse-set-point event)
3521        (mark-sexp 1))
3522      (define-key global-map [button2] 'mouse-set-point-and-select)
3523
3524 \1f
3525 File: xemacs-faq.info,  Node: Q3.7.2,  Next: Q3.7.3,  Prev: Q3.7.1,  Up: Customization
3526
3527 Q3.7.2: How do I set control/meta/etc modifiers on mouse buttons?
3528 -----------------------------------------------------------------
3529
3530 Use, for instance, `[(meta button1)]'. For example, here is a common
3531 setting for Common Lisp programmers who use the bundled `ilisp'
3532 package, whereby meta-button1 on a function name will find the file
3533 where the function name was defined, and put you at that location in
3534 the source file.
3535
3536    [Inside a function that gets called by the lisp-mode-hook and
3537 ilisp-mode-hook]
3538
3539      (local-set-key [(meta button1)] 'edit-definitions-lisp)
3540
3541 \1f
3542 File: xemacs-faq.info,  Node: Q3.7.3,  Next: Q3.7.4,  Prev: Q3.7.2,  Up: Customization
3543
3544 Q3.7.3: Clicking the left button does not do anything in buffer list.
3545 ---------------------------------------------------------------------
3546
3547 I do `C-x C-b' to get a list of buffers and the entries get highlighted
3548 when I move the mouse over them but clicking the left mouse does not do
3549 anything.
3550
3551    Use the middle mouse button.
3552
3553 \1f
3554 File: xemacs-faq.info,  Node: Q3.7.4,  Next: Q3.7.5,  Prev: Q3.7.3,  Up: Customization
3555
3556 Q3.7.4: How can I get a list of buffers when I hit mouse button 3?
3557 ------------------------------------------------------------------
3558
3559 The following code will replace the default popup on button3:
3560
3561      (global-set-key [button3] 'popup-buffer-menu)
3562
3563 \1f
3564 File: xemacs-faq.info,  Node: Q3.7.5,  Next: Q3.7.6,  Prev: Q3.7.4,  Up: Customization
3565
3566 Q3.7.5: Why does cut-and-paste not work between XEmacs and a cmdtool?
3567 ---------------------------------------------------------------------
3568
3569 We don't know.  It's a bug.  There does seem to be a work-around,
3570 however.  Try running xclipboard first.  It appears to fix the problem
3571 even if you exit it.  (This should be mostly fixed in 19.13, but we
3572 haven't yet verified that).
3573
3574 \1f
3575 File: xemacs-faq.info,  Node: Q3.7.6,  Next: Q3.7.7,  Prev: Q3.7.5,  Up: Customization
3576
3577 Q3.7.6: How I can set XEmacs up so that it pastes where the text cursor is?
3578 ---------------------------------------------------------------------------
3579
3580 By default XEmacs pastes X selections where the mouse pointer is.  How
3581 do I disable this?
3582
3583    Examine the function `mouse-yank', by typing `C-h f mouse-yank
3584 <RET>'.
3585
3586    To get XEmacs to paste at the text cursor, add this your
3587 `init.el'/`.emacs':
3588
3589      (setq mouse-yank-at-point t)
3590
3591    Starting with XEmacs-20.2 you can also change this with Customize.
3592 Select from the `Options' menu `Advanced
3593 (Customize)->Emacs->Editing->Mouse->Yank At Point...' or type `M-x
3594 customize <RET> mouse <RET>'.
3595
3596 \1f
3597 File: xemacs-faq.info,  Node: Q3.7.7,  Next: Q3.7.8,  Prev: Q3.7.6,  Up: Customization
3598
3599 Q3.7.7: How do I select a rectangular region?
3600 ---------------------------------------------
3601
3602 Just select the region normally, then use the rectangle commands (e.g.
3603 `kill-rectangle' on it.  The region does not highlight as a rectangle,
3604 but the commands work just fine.
3605
3606    To actually sweep out rectangular regions with the mouse you can use
3607 `mouse-track-do-rectangle' which is assigned to `M-button1'.  Then use
3608 rectangle commands.
3609
3610    You can also do the following to change default behavior to sweep out
3611 rectangular regions:
3612
3613      (setq mouse-track-rectangle-p t)
3614
3615    Starting with XEmacs-20.2 you can also change this with Customize.
3616 Select from the `Options' menu `Advanced
3617 (Customize)->Emacs->Editing->Mouse->Track Rectangle...' or type `M-x
3618 customize <RET> mouse <RET>'.
3619
3620       mouse-track-do-rectangle: (event)
3621         -- an interactive compiled Lisp function.
3622       Like `mouse-track' but selects rectangles instead of regions.
3623
3624 \1f
3625 File: xemacs-faq.info,  Node: Q3.7.8,  Next: Q3.8.1,  Prev: Q3.7.7,  Up: Customization
3626
3627 Q3.7.8: Why does `M-w' take so long?
3628 ------------------------------------
3629
3630 It actually doesn't.  It leaves the region visible for a second so that
3631 you can see what area is being yanked.  If you start working, though, it
3632 will immediately complete its operation.  In other words, it will only
3633 delay for a second if you let it.
3634
3635 \1f
3636 File: xemacs-faq.info,  Node: Q3.8.1,  Next: Q3.8.2,  Prev: Q3.7.8,  Up: Customization
3637
3638 3.8: The Menubar and Toolbar
3639 ============================
3640
3641 Q3.8.1: How do I get rid of the menu (or menubar)?
3642 --------------------------------------------------
3643
3644      (set-specifier menubar-visible-p nil)
3645
3646 \1f
3647 File: xemacs-faq.info,  Node: Q3.8.2,  Next: Q3.8.3,  Prev: Q3.8.1,  Up: Customization
3648
3649 Q3.8.2: Can I customize the basic menubar?
3650 ------------------------------------------
3651
3652 For an extensive menubar, add this line to your `init.el'/`.emacs':
3653
3654      (load "big-menubar")
3655
3656    If you'd like to write your own, this file provides as good a set of
3657 examples as any to start from.  The file is located in edit-utils
3658 package.
3659
3660 \1f
3661 File: xemacs-faq.info,  Node: Q3.8.3,  Next: Q3.8.4,  Prev: Q3.8.2,  Up: Customization
3662
3663 Q3.8.3: How do I control how many buffers are listed in the menu `Buffers List'?
3664 --------------------------------------------------------------------------------
3665
3666 Add the following to your `init.el'/`.emacs' (suit to fit):
3667
3668      (setq buffers-menu-max-size 20)
3669
3670    For no limit, use an argument of `nil'.
3671
3672    Starting with XEmacs-20.3 you can also change this with Customize.
3673 Select from the `Options' menu `Advanced
3674 (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...' or
3675 type `M-x customize <RET> buffers-menu <RET>'.
3676
3677 \1f
3678 File: xemacs-faq.info,  Node: Q3.8.4,  Next: Q3.8.5,  Prev: Q3.8.3,  Up: Customization
3679
3680 Q3.8.4: Resources like `Emacs*menubar*font' are not working?
3681 ------------------------------------------------------------
3682
3683 I am trying to use a resource like `Emacs*menubar*font' to set the font
3684 of the menubar but it's not working.
3685
3686    In Motif, the use of `font' resources is obsoleted in order to
3687 support internationalization.  If you are using the real Motif menubar,
3688 this resource is not recognized at all; you have to say:
3689
3690      Emacs*menubar*fontList: FONT
3691
3692    If you are using the Lucid menubar, for backward compatibility with
3693 existing user configurations, the `font' resource is recognized.  Since
3694 this is not supported by Motif itself, the code is a kludge and the
3695 `font' resource will be recognized only if the `fontList' resource
3696 resource is unset.  This means that the resource
3697
3698      *fontList: FONT
3699
3700    will override
3701
3702      Emacs*menubar*font: FONT
3703
3704    even though the latter is more specific.
3705
3706    In non-Motif configurations using `--with-mule' and `--with-xfs' it
3707 _is_ necessary to use the `fontSet' resource _instead of_ the `font'
3708 resource.  The backward compatibility kludge was never implemented for
3709 non-Motif builds.  Example:
3710
3711      *fontSet: FONT
3712
3713 \1f
3714 File: xemacs-faq.info,  Node: Q3.8.5,  Next: Q3.9.1,  Prev: Q3.8.4,  Up: Customization
3715
3716 Q3.8.5: How can I bind a key to a function to toggle the toolbar?
3717 -----------------------------------------------------------------
3718
3719 Try something like:
3720
3721      (defun my-toggle-toolbar ()
3722        (interactive)
3723        (set-specifier default-toolbar-visible-p
3724                       (not (specifier-instance default-toolbar-visible-p))))
3725      (global-set-key "\C-xT" 'my-toggle-toolbar)
3726
3727    There are redisplay bugs in 19.14 that may make the preceding result
3728 in a messed-up display, especially for frames with multiple windows.
3729 You may need to resize the frame before XEmacs completely realizes the
3730 toolbar is really gone.
3731
3732    Thanks to Martin Buchholz <martin@xemacs.org> for the correct code.
3733
3734 \1f
3735 File: xemacs-faq.info,  Node: Q3.9.1,  Next: Q3.9.2,  Prev: Q3.8.5,  Up: Customization
3736
3737 3.9: Scrollbars
3738 ===============
3739
3740 Q3.9.1: How can I disable the scrollbar?
3741 ----------------------------------------
3742
3743 To disable them for all frames, add the following line to your
3744 `.Xresources':
3745
3746      Emacs.scrollBarWidth:  0
3747
3748    Or select from the `Options' menu `Frame Appearance->Scrollbars'.
3749 Remember to save options.
3750
3751    To turn the scrollbar off on a per-frame basis, use the following
3752 function:
3753
3754      (set-specifier scrollbar-width 0 (selected-frame))
3755
3756    You can actually turn the scrollbars on at any level you want by
3757 substituting for (selected-frame) in the above command.  For example, to
3758 turn the scrollbars off only in a single buffer:
3759
3760      (set-specifier scrollbar-width 0 (current-buffer))
3761
3762 \1f
3763 File: xemacs-faq.info,  Node: Q3.9.2,  Next: Q3.9.3,  Prev: Q3.9.1,  Up: Customization
3764
3765 Q3.9.2: How can one use resources to change scrollbar colors?
3766 -------------------------------------------------------------
3767
3768 Here's a recap of how to use resources to change your scrollbar colors:
3769
3770      ! Motif scrollbars
3771      
3772      Emacs*XmScrollBar.Background: skyblue
3773      Emacs*XmScrollBar.troughColor: lightgray
3774      
3775      ! Athena scrollbars
3776      
3777      Emacs*Scrollbar.Foreground: skyblue
3778      Emacs*Scrollbar.Background: lightgray
3779
3780    Note the capitalization of `Scrollbar' for the Athena widget.
3781
3782 \1f
3783 File: xemacs-faq.info,  Node: Q3.9.3,  Next: Q3.9.4,  Prev: Q3.9.2,  Up: Customization
3784
3785 Q3.9.3: Moving the scrollbar can move the point; can I disable this?
3786 --------------------------------------------------------------------
3787
3788 When I move the scrollbar in an XEmacs window, it moves the point as
3789 well, which should not be the default behavior.  Is this a bug or a
3790 feature?  Can I disable it?
3791
3792    The current behavior is a feature, not a bug.  Point remains at the
3793 same buffer position as long as that position does not scroll off the
3794 screen.  In that event, point will end up in either the upper-left or
3795 lower-left hand corner.
3796
3797    This cannot be changed.
3798
3799 \1f
3800 File: xemacs-faq.info,  Node: Q3.9.4,  Next: Q3.10.1,  Prev: Q3.9.3,  Up: Customization
3801
3802 Q3.9.4: How can I turn off automatic horizontal scrolling in specific modes?
3803 ----------------------------------------------------------------------------
3804
3805 Do `(setq truncate-lines t)' in the mode-hooks for any modes in which
3806 you want lines truncated.
3807
3808    More precisely: If `truncate-lines' is nil, horizontal scrollbars
3809 will never appear.  Otherwise, they will appear only if the value of
3810 `scrollbar-height' for that buffer/window/etc. is non-zero.  If you do
3811
3812      (set-specifier scrollbar-height 0)
3813
3814    then horizontal scrollbars will not appear in truncated buffers
3815 unless the package specifically asked for them.
3816
3817 \1f
3818 File: xemacs-faq.info,  Node: Q3.10.1,  Next: Q3.10.2,  Prev: Q3.9.4,  Up: Customization
3819
3820 3.10: Text Selections
3821 =====================
3822
3823 Q3.10.1: How can I turn off or change highlighted selections?
3824 -------------------------------------------------------------
3825
3826 The `zmacs' mode allows for what some might call gratuitous
3827 highlighting for selected regions (either by setting mark or by using
3828 the mouse).  This is the default behavior.  To turn off, add the
3829 following line to your `init.el'/`.emacs' file:
3830
3831      (setq zmacs-regions nil)
3832
3833    Starting with XEmacs-20.2 you can also change this with Customize.
3834 Select from the `Options' menu `Advanced
3835 (Customize)->Emacs->Editing->Basics->Zmacs Regions' or type `M-x
3836 customize <RET> editing-basics <RET>'.
3837
3838    To change the face for selection, look at `Options->Customize' on
3839 the menubar.
3840
3841 \1f
3842 File: xemacs-faq.info,  Node: Q3.10.2,  Next: Q3.10.3,  Prev: Q3.10.1,  Up: Customization
3843
3844 Q3.10.2: How do I get that typing on an active region removes it?
3845 -----------------------------------------------------------------
3846
3847 I want to change things so that if I select some text and start typing,
3848 the typed text replaces the selected text, similar to Motif.
3849
3850    You want to use something called "pending delete".  Pending delete
3851 is what happens when you select a region (with the mouse or keyboard)
3852 and you press a key to replace the selected region by the key you typed.
3853 Usually backspace kills the selected region.
3854
3855    To get this behavior, add the following lines to your
3856 `init.el'/`.emacs':
3857
3858      (cond
3859       ((fboundp 'turn-on-pending-delete)
3860        (turn-on-pending-delete))
3861       ((fboundp 'pending-delete-on)
3862        (pending-delete-on t)))
3863
3864    Note that this will work with both Backspace and Delete.  This code
3865 is a tad more complicated than it has to be for XEmacs in order to make
3866 it more portable.
3867
3868 \1f
3869 File: xemacs-faq.info,  Node: Q3.10.3,  Next: Q3.10.4,  Prev: Q3.10.2,  Up: Customization
3870
3871 Q3.10.3: Can I turn off the highlight during isearch?
3872 -----------------------------------------------------
3873
3874 I do not like my text highlighted while I am doing isearch as I am not
3875 able to see what's underneath.  How do I turn it off?
3876
3877    Put the following in your `init.el'/`.emacs':
3878
3879      (setq isearch-highlight nil)
3880
3881    Starting with XEmacs-20.2 you can also change this with Customize.
3882 Type `M-x customize-variable <RET> isearch-highlight <RET>'.
3883
3884    Note also that isearch-highlight affects query-replace and ispell.
3885 Instead of disabling isearch-highlight you may find that a better
3886 solution consists of customizing the `isearch' face.
3887
3888 \1f
3889 File: xemacs-faq.info,  Node: Q3.10.4,  Next: Q3.10.5,  Prev: Q3.10.3,  Up: Customization
3890
3891 Q3.10.4: How do I turn off highlighting after `C-x C-p' (mark-page)?
3892 --------------------------------------------------------------------
3893
3894 Put this in your `.emacs':
3895
3896      (setq zmacs-regions nil)
3897
3898    *Warning: This command turns off all region highlighting.*
3899
3900    Also see *Note Q3.10.1::.
3901
3902 \1f
3903 File: xemacs-faq.info,  Node: Q3.10.5,  Next: Q3.10.6,  Prev: Q3.10.4,  Up: Customization
3904
3905 Q3.10.5: The region disappears when I hit the end of buffer while scrolling.
3906 ----------------------------------------------------------------------------
3907
3908 This has been fixed by default starting with XEmacs-20.3.
3909
3910    With older versions you can turn this feature (if it indeed is a
3911 feature) off like this:
3912
3913      (defadvice scroll-up (around scroll-up freeze)
3914        (interactive "_P")
3915        (let ((zmacs-region-stays t))
3916          (if (interactive-p)
3917              (condition-case nil
3918                  ad-do-it
3919                (end-of-buffer (goto-char (point-max))))
3920            ad-do-it)))
3921      
3922      (defadvice scroll-down (around scroll-down freeze)
3923        (interactive "_P")
3924        (let ((zmacs-region-stays t))
3925          (if (interactive-p)
3926              (condition-case nil
3927                  ad-do-it
3928                (beginning-of-buffer (goto-char (point-min))))
3929            ad-do-it)))
3930
3931    Thanks to T. V. Raman <raman@adobe.com> for assistance in deriving
3932 this answer.
3933
3934 \1f
3935 File: xemacs-faq.info,  Node: Q3.10.6,  Prev: Q3.10.5,  Up: Customization
3936
3937 Q3.10.6: Why is killing so slow?
3938 --------------------------------
3939
3940 This actually is an X Windows question, although you'll notice it with
3941 keyboard operations as well as while using the GUI.  Basically, there
3942 are four ways to communicate interprogram via the X server:
3943
3944 *Primary selection*
3945      a transient selection that gets replaced every time a new
3946      selection is made
3947
3948 *Secondary selection*
3949      for "exchanging" with the primary selection
3950
3951 *Cut buffers*
3952      a clipboard internal to the X server (deprecated)
3953
3954 *Clipboard selection*
3955      a selection with a notification protocol that allows a separate
3956      app to manage the clipboard
3957
3958    The cut buffers are deprecated because managing them is even more
3959 inefficient than the clipboard notification protocol.  The primary
3960 selection works fine for many users and applications, but is not very
3961 robust under intensive or sophisticated use.
3962
3963    In Motif and MS Windows, a clipboard has become the primary means for
3964 managing cut and paste.  These means that "modern" applications tend to
3965 be oriented toward a true clipboard, rather than the primary selection.
3966 (On Windows, there is nothing equivalent to the primary selection.)
3967 It's not that XEmacs doesn't support the simple primary selection
3968 method, it's that more and more other applications don't.
3969
3970    So the slowdown occurs because XEmacs now engages in the clipboard
3971 notification protocol on _every_ kill.  This is especially slow on
3972 Motif.
3973
3974    With most people running most clients and server on the same host,
3975 and many of the rest working over very fast communication, you may
3976 expect that the situation is not going to improve.
3977
3978    There are a number of workarounds.  The most effective is to use a
3979 special command to do selection ownership only when you intend to paste
3980 to another application.  Useful commands are `kill-primary-selection'
3981 and `copy-primary-selection'.  These work only on text selected with
3982 the mouse (probably; experiment), and are bound by default to the `Cut'
3983 and `Copy', respectively, buttons on the toolbar.
3984 `copy-primary-selection' is also bound to `C-Insert'.  You can yank the
3985 clipboard contents with `yank-primary-selection', bound to the `Paste'
3986 toolbar button and `Sh-Insert'.
3987
3988    If you are communicating by cut and paste with applications that use
3989 the primary selection, then you can customize
3990 `interprogram-cut-function' to `nil', restoring the XEmacs version 20
3991 behavior.  How can you tell if a program will support this?
3992 Motifly-correct programs require the clipboard; you lose.  For others,
3993 only by trying it.  You also need to customize the complementary
3994 `interprogram-paste-function' to `nil'.  (Otherwise XEmacs-to-XEmacs
3995 pastes will not work correctly.)
3996
3997    You may get some relief on Motif by setting
3998 `x-selection-strict-motif-ownership' to nil, but this means you will
3999 only intermittently be able to paste XEmacs kills to Motif applications.
4000
4001    Thanks to Jeff Mincy and Glynn Clements for corrections.
4002
4003 \1f
4004 File: xemacs-faq.info,  Node: Subsystems,  Next: Miscellaneous,  Prev: Customization,  Up: Top
4005
4006 4 Major Subsystems
4007 ******************
4008
4009 This is part 4 of the XEmacs Frequently Asked Questions list.  This
4010 section is devoted to major XEmacs subsystems.
4011
4012 * Menu:
4013
4014 Reading Mail with VM:
4015 * Q4.0.1::      How do I set up VM to retrieve remote mail using POP?
4016 * Q4.0.2::      How do I get VM to filter mail for me?
4017 * Q4.0.3::      How can I get VM to automatically check for new mail?
4018 * Q4.0.4::      [This question intentionally left blank]
4019 * Q4.0.5::      How do I get my outgoing mail archived?
4020 * 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"?
4021 * Q4.0.7::      Is there a mailing list or FAQ for VM?
4022 * Q4.0.8::      Remote mail reading with VM.
4023 * Q4.0.9::      rmail or VM gets an error incorporating new mail.
4024 * Q4.0.10::     How do I make VM stay in a single frame?
4025 * Q4.0.11::     How do I make VM or mh-e display graphical smilies?
4026 * Q4.0.12::     Customization of VM not covered in the manual or here.
4027
4028 Web browsing with W3:
4029 * Q4.1.1::      What is W3?
4030 * Q4.1.2::      How do I run W3 from behind a firewall?
4031 * Q4.1.3::      Is it true that W3 supports style sheets and tables?
4032
4033 Reading Netnews and Mail with Gnus:
4034 * Q4.2.1::      GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh!
4035 * Q4.2.2::      [This question intentionally left blank]
4036 * Q4.2.3::      How do I make Gnus stay within a single frame?
4037 * Q4.2.4::      How do I customize the From: line?
4038
4039 Other Mail & News:
4040 * Q4.3.1::      How can I read and/or compose MIME messages?
4041 * Q4.3.2::      What is TM and where do I get it?
4042 * Q4.3.3::      Why isn't this `movemail' program working?
4043 * Q4.3.4::      Movemail is also distributed by Netscape?  Can that cause problems?
4044 * Q4.3.5::      Where do I find pstogif (required by tm)?
4045
4046 Sparcworks, EOS, and WorkShop:
4047 * Q4.4.1::      What is SPARCworks, EOS, and WorkShop
4048 * Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
4049
4050 Energize:
4051 * Q4.5.1::      What is/was Energize?
4052
4053 Infodock:
4054 * Q4.6.1::      What is Infodock?
4055
4056 Other Unbundled Packages:
4057 * Q4.7.1::      What is AUC TeX?  Where do you get it?
4058 * Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
4059 * Q4.7.3::      [This question intentionally left blank]
4060 * Q4.7.4::      Problems installing AUC TeX
4061 * Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
4062 * Q4.7.6::      Is there a MatLab mode?
4063 * Q4.7.7::      Can I edit files on other hosts?
4064
4065 \1f
4066 File: xemacs-faq.info,  Node: Q4.0.1,  Next: Q4.0.2,  Prev: Subsystems,  Up: Subsystems
4067
4068 4.0: Reading Mail with VM
4069 =========================
4070
4071 Q4.0.1: How do I set up VM to retrieve mail from a remote site using POP?
4072 -------------------------------------------------------------------------
4073
4074 Use `vm-spool-files', like this for example:
4075
4076      (setq vm-spool-files '("/var/spool/mail/wing"
4077                             "netcom23.netcom.com:110:pass:wing:MYPASS"))
4078
4079    Of course substitute your actual password for MYPASS.
4080
4081 \1f
4082 File: xemacs-faq.info,  Node: Q4.0.2,  Next: Q4.0.3,  Prev: Q4.0.1,  Up: Subsystems
4083
4084 Q4.0.2: How do I get VM to filter mail for me?
4085 ----------------------------------------------
4086
4087 One possibility is to use procmail to split your mail before it gets to
4088 VM.  I prefer this personally, since there are many strange and
4089 wonderful things one can do with procmail.  Procmail may be found at
4090 `ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/'.
4091
4092    Also see the Mail Filtering FAQ at:
4093 `ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq'.
4094
4095 \1f
4096 File: xemacs-faq.info,  Node: Q4.0.3,  Next: Q4.0.4,  Prev: Q4.0.2,  Up: Subsystems
4097
4098 Q4.0.3: How can I get VM to automatically check for new mail?
4099 -------------------------------------------------------------
4100
4101 John Turner <turner@lanl.gov> writes:
4102
4103      Use the following:
4104
4105           (setq vm-auto-get-new-mail 60)
4106
4107 \1f
4108 File: xemacs-faq.info,  Node: Q4.0.4,  Next: Q4.0.5,  Prev: Q4.0.3,  Up: Subsystems
4109
4110 Q4.0.4: [This question intentionally left blank]
4111 ------------------------------------------------
4112
4113 Obsolete question, left blank to avoid renumbering.
4114
4115 \1f
4116 File: xemacs-faq.info,  Node: Q4.0.5,  Next: Q4.0.6,  Prev: Q4.0.4,  Up: Subsystems
4117
4118 Q4.0.5: How do I get my outgoing mail archived?
4119 -----------------------------------------------
4120
4121      (setq mail-archive-file-name "~/outbox")
4122
4123 \1f
4124 File: xemacs-faq.info,  Node: Q4.0.6,  Next: Q4.0.7,  Prev: Q4.0.5,  Up: Subsystems
4125
4126 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"?
4127 ---------------------------------------------------------------------------------------------------------------------
4128
4129 Set `vm-reply-ignored-addresses' to a list, like
4130
4131      (setq vm-reply-ignored-addresses
4132            '("wing@nuspl@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
4133              "wing@netcom.com" "wing@xemacs.org"))
4134
4135    Note that each string is a regular expression.
4136
4137 \1f
4138 File: xemacs-faq.info,  Node: Q4.0.7,  Next: Q4.0.8,  Prev: Q4.0.6,  Up: Subsystems
4139
4140 Q4.0.7: Is there a mailing list or FAQ for VM?
4141 ----------------------------------------------
4142
4143 A FAQ for VM exists at `http://www.wonderworks.com/vm/FAQ.html'.
4144
4145    VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
4146
4147 \1f
4148 File: xemacs-faq.info,  Node: Q4.0.8,  Next: Q4.0.9,  Prev: Q4.0.7,  Up: Subsystems
4149
4150 Q4.0.8: Remote mail reading with VM.
4151 ------------------------------------
4152
4153 My mailbox lives at the office on a big honkin server.  My regular INBOX
4154 lives on my honkin desktop machine.  I now can PPP to the office from
4155 home which is far from honking...  I'd like to be able to read mail at
4156 home without storing it here and I'd like to use xemacs and VM at
4157 home...  Is there a recommended setup?
4158
4159    Joseph J. Nuspl Jr. <nuspl@nvwls.cc.purdue.edu> writes:
4160
4161      There are several ways to do this.
4162
4163        1. Set your display to your home machine and run dxpc or one of
4164           the other X compressors.
4165
4166        2. NFS mount your desktop machine on your home machine and
4167           modify your pop command on your home machine to rsh to your
4168           desktop machine and actually do the pop get's.
4169
4170        3. Run a POP server on your desktop machine as well and do a
4171           sort of two tiered POP get.
4172
4173    William Perry <wmperry@monolith.spry.com> adds:
4174
4175      Or you could run a pop script periodically on your desktop
4176      machine, and just use ange-ftp or NFS to get to your mailbox.  I
4177      used to do this all the time back at IU.
4178
4179 \1f
4180 File: xemacs-faq.info,  Node: Q4.0.9,  Next: Q4.0.10,  Prev: Q4.0.8,  Up: Subsystems
4181
4182 Q4.0.9: rmail or VM gets an error incorporating new mail.
4183 ---------------------------------------------------------
4184
4185 Quoting the XEmacs PROBLEMS file:
4186
4187      rmail and VM get new mail from `/usr/spool/mail/$USER' using a
4188      program called `movemail'.  This program interlocks with
4189      `/bin/mail' using the protocol defined by `/bin/mail'.
4190
4191      There are two different protocols in general use.  One of them
4192      uses the `flock' system call.  The other involves creating a lock
4193      file; `movemail' must be able to write in `/usr/spool/mail' in
4194      order to do this.  You control which one is used by defining, or
4195      not defining, the macro `MAIL_USE_FLOCK' in `config.h' or the m-
4196      or s- file it includes.
4197
4198      *IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
4199      SYSTEM, YOU CAN LOSE MAIL!*
4200
4201      If your system uses the lock file protocol, and fascist
4202      restrictions prevent ordinary users from writing the lock files in
4203      `/usr/spool/mail', you may need to make `movemail' setgid to a
4204      suitable group such as `mail'.  You can use these commands (as
4205      root):
4206
4207           chgrp mail movemail
4208           chmod 2755 movemail
4209
4210      If your system uses the lock file protocol, and fascist
4211      restrictions prevent ordinary users from writing the lock files in
4212      `/usr/spool/mail', you may need to make `movemail' setgid to a
4213      suitable group such as `mail'.  To do this, use the following
4214      commands (as root) after doing the make install.
4215
4216           chgrp mail movemail
4217           chmod 2755 movemail
4218
4219      Installation normally copies movemail from the build directory to
4220      an installation directory which is usually under `/usr/local/lib'.
4221      The installed copy of `movemail' is usually in the directory
4222      `/usr/local/lib/emacs/VERSION/TARGET'.  You must change the group
4223      and mode of the installed copy; changing the group and mode of the
4224      build directory copy is ineffective.
4225
4226 \1f
4227 File: xemacs-faq.info,  Node: Q4.0.10,  Next: Q4.0.11,  Prev: Q4.0.9,  Up: Subsystems
4228
4229 Q4.0.10: How do I make VM stay in a single frame?
4230 -------------------------------------------------
4231
4232 John.John S Cooper <Cooper@Eng.Sun.COM> writes:
4233
4234                                                   ; Don't use multiple frames
4235           (setq vm-frame-per-composition nil)
4236           (setq vm-frame-per-folder nil)
4237           (setq vm-frame-per-edit nil)
4238           (setq vm-frame-per-summary nil)
4239
4240 \1f
4241 File: xemacs-faq.info,  Node: Q4.0.11,  Next: Q4.0.12,  Prev: Q4.0.10,  Up: Subsystems
4242
4243 Q4.0.11: How do I make VM or mh-e display graphical smilies?
4244 ------------------------------------------------------------
4245
4246 For mh-e use the following:
4247
4248      (add-hook 'mh-show-mode-hook '(lambda ()
4249                                      (smiley-region (point-min)
4250                                                     (point-max))))
4251
4252    WJCarpenter <bill@carpenter.ORG> writes: For VM use the following:
4253             (autoload 'smiley-region "smiley" nil t)
4254             (add-hook 'vm-select-message-hook
4255                       '(lambda ()
4256                          (smiley-region (point-min)
4257                                         (point-max))))
4258
4259    For tm use the following:
4260      (autoload 'smiley-buffer "smiley" nil t)
4261      (add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer)
4262
4263 \1f
4264 File: xemacs-faq.info,  Node: Q4.0.12,  Next: Q4.1.1,  Prev: Q4.0.11,  Up: Subsystems
4265
4266 Q4.0.12: Customization of VM not covered in the manual, or here.
4267 ----------------------------------------------------------------
4268
4269 giacomo boffi <boffi@hp735.stru.polimi.it> writes:
4270
4271      The meta-answer is to look into the file `vm-vars.el', in the vm
4272      directory of the lisp library.
4273
4274      `vm-vars.el' contains, initializes and carefully describes, with
4275      examples of usage, the plethora of user options that _fully_
4276      control VM's behavior.
4277
4278      Enter vm-vars, `forward-search' for toolbar, find the variables
4279      that control the toolbar placement, appearance, existence, copy to
4280      your `init.el'/`.emacs' or `.vm' and modify according to the
4281      detailed instructions.
4282
4283      The above also applies to all the various features of VM: search
4284      for some keywords, maybe the first you conjure isn't appropriate,
4285      find the appropriate variables, copy and experiment.
4286
4287 \1f
4288 File: xemacs-faq.info,  Node: Q4.1.1,  Next: Q4.1.2,  Prev: Q4.0.12,  Up: Subsystems
4289
4290 4.1: Web browsing with W3
4291 =========================
4292
4293 Q4.1.1: What is W3?
4294 -------------------
4295
4296 W3 is an advanced graphical browser written in Emacs lisp that runs on
4297 XEmacs.  It has full support for cascaded style sheets, and more...
4298
4299    It has a home web page at
4300 `http://www.cs.indiana.edu/elisp/w3/docs.html'.
4301
4302 \1f
4303 File: xemacs-faq.info,  Node: Q4.1.2,  Next: Q4.1.3,  Prev: Q4.1.1,  Up: Subsystems
4304
4305 Q4.1.2: How do I run W3 from behind a firewall?
4306 -----------------------------------------------
4307
4308 There is a long, well-written, detailed section in the W3 manual that
4309 describes how to do this.  Look in the section entitled "Firewalls".
4310
4311 \1f
4312 File: xemacs-faq.info,  Node: Q4.1.3,  Next: Q4.2.1,  Prev: Q4.1.2,  Up: Subsystems
4313
4314 Q4.1.3: Is it true that W3 supports style sheets and tables?
4315 ------------------------------------------------------------
4316
4317 Yes, and much more.  W3, as distributed with the latest XEmacs is a
4318 full-featured web browser.
4319
4320 \1f
4321 File: xemacs-faq.info,  Node: Q4.2.1,  Next: Q4.2.2,  Prev: Q4.1.3,  Up: Subsystems
4322
4323 4.2: Reading Netnews and Mail with Gnus
4324 =======================================
4325
4326 Q4.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
4327 --------------------------------------------------------------------------------
4328
4329 The Gnus numbering issues are not meant for mere mortals to know them.
4330 If you feel you _must_ enter the muddy waters of Gnus, visit the
4331 excellent FAQ, maintained by Justin Sheehy, at:
4332
4333      `http://www.ccs.neu.edu/software/contrib/gnus/'
4334
4335    See also Gnus home page
4336      `http://www.gnus.org/'
4337
4338 \1f
4339 File: xemacs-faq.info,  Node: Q4.2.2,  Next: Q4.2.3,  Prev: Q4.2.1,  Up: Subsystems
4340
4341 Q4.2.2: This question intentionally left blank.
4342 -----------------------------------------------
4343
4344 Obsolete question, left blank to avoid renumbering.
4345
4346 \1f
4347 File: xemacs-faq.info,  Node: Q4.2.3,  Next: Q4.2.4,  Prev: Q4.2.2,  Up: Subsystems
4348
4349 Q4.2.3: How do I make Gnus stay within a single frame?
4350 ------------------------------------------------------
4351
4352 The toolbar code to start Gnus opens the new frame--and it's a feature
4353 rather than a bug.  If you don't like it, but would still like to click
4354 on the seemly icon, use the following code:
4355
4356      (defun toolbar-news ()
4357        (gnus))
4358
4359    It will redefine the callback function of the icon to just call
4360 `gnus', without all the fancy frame stuff.
4361
4362 \1f
4363 File: xemacs-faq.info,  Node: Q4.2.4,  Next: Q4.3.1,  Prev: Q4.2.3,  Up: Subsystems
4364
4365 Q4.2.4: How do I customize the From: line?
4366 ------------------------------------------
4367
4368 How do I change the `From:' line?  I have set gnus-user-from-line to
4369      Gail Gurman <gail.gurman@sybase.com>
4370     , but XEmacs Gnus doesn't use it. Instead it uses
4371      Gail Mara Gurman <gailg@deall>
4372  and then complains that it's incorrect. Also, as you perhaps can see,
4373 my Message-ID is screwy. How can I change that?
4374
4375 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:
4376
4377      Set `user-mail-address' to `gail.gurman@sybase.com' or
4378      `mail-host-address' to `sybase.com'.
4379
4380 \1f
4381 File: xemacs-faq.info,  Node: Q4.3.1,  Next: Q4.3.2,  Prev: Q4.2.4,  Up: Subsystems
4382
4383 4.3: Other Mail & News
4384 ======================
4385
4386 Q4.3.1: How can I read and/or compose MIME messages?
4387 ----------------------------------------------------
4388
4389 VM supports MIME natively.
4390
4391    You probably want to use the Tools for MIME (tm).  *Note Q4.3.2::,
4392 for details.
4393
4394    Trey Jackson <trey@cs.berkeley.edu> has an Emacs & MIME web page at
4395 `http://bmrc.berkeley.edu/~trey/emacs/mime.html'.
4396
4397    Another possibility is RMIME.  You may find RMIME at
4398 `http://www.cinti.net/~rmoody/rmime/index.html'.
4399
4400 \1f
4401 File: xemacs-faq.info,  Node: Q4.3.2,  Next: Q4.3.3,  Prev: Q4.3.1,  Up: Subsystems
4402
4403 Q4.3.2: What is TM and where do I get it?
4404 -----------------------------------------
4405
4406 TM stands for "Tools for MIME" and not Tiny MIME.  TM integrates with
4407 all major XEmacs packages like Gnus (all flavors), VM, MH-E, and
4408 mailcrypt.  It provides totally transparent and trouble-free MIME
4409 support.  When appropriate a message will be decoded in place in an
4410 XEmacs buffer.
4411
4412    TM now comes as a package with XEmacs 19.16 and XEmacs 20.2.
4413
4414    TM was written by MORIOKA Tomohiko <morioka@jaist.ac.jp> and
4415 KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>.
4416
4417    It is based on the work of UMEDA Masanobu
4418 <umerin@mse.kyutech.ac.jp>, the original writer of GNUS.
4419
4420    The following information is from the `README':
4421
4422    "tm" is a MIME package for GNU Emacs.  tm has following functions:
4423
4424    * MIME style multilingual header.
4425
4426    * MIME message viewer (mime/viewer-mode).
4427
4428    * MIME message composer (mime/editor-mode).
4429
4430    * MIME extenders for mh-e, GNUS, RMAIL and VM.
4431
4432    tm is available from following anonymous ftp sites:
4433    * `ftp://ftp.unicamp.br/pub/mail/mime/tm/' (Brasil).
4434
4435    * `ftp://ftp.th-darmstadt.de/pub/editors/GNU-Emacs/lisp/mime/'
4436      (Germany).
4437
4438    * `ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib/'
4439      (Germany).
4440
4441    Don't let the installation procedure & instructions stop you from
4442 trying this package out--it's much simpler than it looks, and once
4443 installed, trivial to use.
4444
4445    Steve Youngs <youngs@xemacs.org> writes:
4446
4447      All the major Emacs Lisp based MUAs (Gnus, MH-E, and VM) all do
4448      their own thing when it comes to MIME so you won't need TM to get
4449      MIME support in these packages.
4450
4451 \1f
4452 File: xemacs-faq.info,  Node: Q4.3.3,  Next: Q4.3.4,  Prev: Q4.3.2,  Up: Subsystems
4453
4454 Q4.3.3: Why isn't this `movemail' program working?
4455 --------------------------------------------------
4456
4457 Ben Wing <ben@xemacs.org> writes:
4458
4459      It wasn't chown'ed/chmod'd correctly.
4460
4461 \1f
4462 File: xemacs-faq.info,  Node: Q4.3.4,  Next: Q4.3.5,  Prev: Q4.3.3,  Up: Subsystems
4463
4464 Q4.3.4: Movemail is also distributed by Netscape?  Can that cause problems?
4465 ---------------------------------------------------------------------------
4466
4467 Steve Baur <steve@xemacs.org> writes:
4468
4469      Yes.  Always use the movemail installed with your XEmacs.  Failure
4470      to do so can result in lost mail.
4471
4472    Please refer to Jamie Zawinski's <jwz@jwz.org> notes at
4473 `http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/movemail.html'.
4474 In particular, this document will show you how to make Netscape use the
4475 version of movemail configured for your system by the person who built
4476 XEmacs.
4477
4478 \1f
4479 File: xemacs-faq.info,  Node: Q4.3.5,  Next: Q4.4.1,  Prev: Q4.3.4,  Up: Subsystems
4480
4481 Q4.3.5: Where do I find pstogif (required by tm)?
4482 -------------------------------------------------
4483
4484 pstogif is part of the latex2html package.
4485
4486    Jan Vroonhof <vroonhof@math.ethz.ch> writes:
4487
4488    latex2html is best found at the CTAN hosts and their mirrors in
4489 `tex-archive/support/latex2html'.
4490
4491    CTAN hosts are:
4492
4493    * `ftp://ftp.tex.ac.uk/tex-archive/support/latex2html/'.
4494
4495    * `ftp://ftp.dante.de/tex-archive/support/latex2html/'.
4496
4497    There is a good mirror at ftp.cdrom.com;
4498 `ftp://ftp.cdrom.com/pub/tex/ctan/support/latex2html/'.
4499
4500 \1f
4501 File: xemacs-faq.info,  Node: Q4.4.1,  Next: Q4.4.2,  Prev: Q4.3.5,  Up: Subsystems
4502
4503 4.4: Sparcworks, EOS, and WorkShop
4504 ==================================
4505
4506 Q4.4.1: What is SPARCworks, EOS, and WorkShop?
4507 ----------------------------------------------
4508
4509 John Turner <turner@lanl.gov> writes:
4510
4511      SPARCworks is SunSoft's development environment, comprising
4512      compilers (C, C++, FORTRAN 77, Fortran 90, Ada, and Pascal), a
4513      debugger, and other tools such as TeamWare (for configuration
4514      management), MakeTool, etc.
4515
4516    See `http://www.sun.com/software/Developer-products/' for more info.
4517
4518    EOS stands for "Era on SPARCworks", but I don't know what Era stands
4519 for.
4520
4521    EOS is the integration of XEmacs with the SPARCworks debugger.  It
4522 allows one to use an XEmacs frame to view code (complete with
4523 fontification, etc.), set breakpoints, print variables, etc., while
4524 using the SPARCworks debugger.  It works very well and I use it all the
4525 time.
4526
4527    Chuck Thompson <cthomp@xemacs.org> writes:
4528
4529      Era stood for "Emacs Rewritten Again".  It was what we were
4530      calling the modified version of Lucid Emacs for Sun when I was
4531      dragged, er, allowed to work on this wonderful editor.
4532
4533    Martin Buchholz <martin@xemacs.org> writes:
4534
4535      EOS is being replaced with a new graphical development environment
4536      called Sun WorkShop, which is currently (07/96) in Alpha Test.
4537      For more details, check out
4538      `http://www.sun.com/software/Products/Developer-products'.
4539
4540 \1f
4541 File: xemacs-faq.info,  Node: Q4.4.2,  Next: Q4.5.1,  Prev: Q4.4.1,  Up: Subsystems
4542
4543 Q4.4.2: How do I start the Sun Workshop support in XEmacs 21?
4544 -------------------------------------------------------------
4545
4546 Add the switch --with-workshop to the configure command when building
4547 XEmacs and put the following in one of your startup files (e.g.
4548 site-start.el or .emacs):
4549
4550      (when (featurep 'tooltalk)
4551        (load "tooltalk-macros")
4552        (load "tooltalk-util")
4553        (load "tooltalk-init"))
4554      (when (featurep 'sparcworks)
4555        (load "sunpro-init")
4556        (load "ring")
4557        (load "comint")
4558        (load "annotations")
4559        (sunpro-startup))
4560
4561    If you are not using the latest Workshop (5.0) you have to apply the
4562 following patch:
4563
4564 --- /opt/SUNWspro/lib/eserve.el.ORIG    Fri May 14 15:23:26 1999
4565 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
4566 @@ -42,7 +42,7 @@
4567  (defvar running-xemacs nil "t if we're running XEmacs")
4568  (defvar running-emacs  nil "t if we're running GNU Emacs 19")
4569
4570 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
4571 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
4572      (setq running-xemacs t)
4573      (setq running-emacs  t))
4574
4575 \1f
4576 File: xemacs-faq.info,  Node: Q4.5.1,  Next: Q4.6.1,  Prev: Q4.4.2,  Up: Subsystems
4577
4578 4.5: Energize
4579 =============
4580
4581 Q4.5.1: What is/was Energize?
4582 -----------------------------
4583
4584 David N Gray <gray@meteor.harlequin.com> writes:
4585
4586      The files in `lisp/energize' are to enable Emacs to interface with
4587      the "Energize Programming System", a C and C++ development
4588      environment, which was a product of Lucid, Inc.  Tragically, Lucid
4589      went out of business in 1994, so although Energize is still a
4590      great system, if you don't already have it, there isn't any way to
4591      get it now.  (Unless you happen to be in Japan; INS Engineering
4592      may still be selling it there.  Tartan bought the rights to sell
4593      it in the rest of the world, but never did so.)
4594
4595 \1f
4596 File: xemacs-faq.info,  Node: Q4.6.1,  Next: Q4.7.1,  Prev: Q4.5.1,  Up: Subsystems
4597
4598 4.6: Infodock
4599 =============
4600
4601 Q4.6.1: What is Infodock?
4602 -------------------------
4603
4604 InfoDock (http://sourceforge.net/projects/infodock/) is an integrated
4605 productivity toolset, mainly aimed at technical people, hosted at
4606 SourceForge.
4607
4608    InfoDock is built atop the XEmacs variant of GNU Emacs and so has
4609 all of the power of Emacs, but with an easier to use and more
4610 comprehensive menu-based user interface.  The bottom portion of this
4611 text describes how it differs from XEmacs and GNU Emacs from the Free
4612 Software Foundation.
4613
4614    InfoDock is aimed at people who want a free, turn-key productivity
4615 environment.  Although InfoDock is customizable, it is not intended for
4616 people who like basic versions of Emacs which need to be customized
4617 extensively for local use; standard Emacs distributions are better for
4618 such uses.  InfoDock is for those people who want a complete,
4619 pre-customized environment in one package, which they need not touch
4620 more than once or twice a year to update to new revisions.
4621
4622    InfoDock is pre-built for SPARC SunOS/Solaris systems, PA-RISC HP-UX,
4623 and Intel Linux systems.  It is intended for use on a color display,
4624 although most features will work on monochrome monitors.  Simply unpack
4625 InfoDock according to the instructions in the ID-INSTALL file and you
4626 are ready to run.
4627
4628    The InfoDock Manual is concise, yet sufficient as a user guide for
4629 users who have never used an Emacs-type editor before.  For users who
4630 are already familiar with Emacs, it supplements the information in the
4631 GNU Emacs Manual.
4632
4633    InfoDock menus are much more extensive and more mature than standard
4634 Emacs menus.  Each menu offers a `Manual' item which displays
4635 documentation associated with the menu's functions.
4636
4637 Four types of menubars are provided:
4638   1. An extensive menubar providing access to global InfoDock commands.
4639
4640   2. Mode-specific menubars tailored to the current major mode.
4641
4642   3. A simple menubar for basic editing to help novices get started
4643      with InfoDock.
4644
4645   4. The standard XEmacs menubar.
4646
4647    Most modes also include mode-specific popup menus.  Additionally,
4648 region and rectangle popup menus are included.
4649
4650    `Hyperbole', the everyday information manager, is a core part of
4651 InfoDock.  This provides context-sensitive mouse keys, a rolodex-type
4652 contact manager, programmable hypertext buttons, and an autonumbered
4653 outliner with embedded hyperlink anchors.
4654
4655    The `OO-Browser', a multi-language object-oriented code browser, is a
4656 standard part of InfoDock.
4657
4658    InfoDock saves a more extensive set of user options than other Emacs
4659 versions.
4660
4661    InfoDock inserts a useful file header in many file types, showing the
4662 author, summary, and last modification time of each file.  A summary
4663 program can then be used to summarize all of the files in a directory,
4664 for easy MANIFEST file creation.
4665
4666    Your working set of buffers is automatically saved and restored (if
4667 you answer yes to a prompt) between InfoDock sessions.
4668
4669    Refined color choices for code highlighting are provided for both
4670 dark and light background display frames.
4671
4672    The `C-z' key prefix performs frame-based commands which parallel the
4673 `C-x' key prefix for window-based commands.
4674
4675    The Smart Menu system is included for producing command menus on dumb
4676 terminals.
4677
4678    Lisp libraries are better categorized according to function.
4679
4680    Extensions and improvements to many areas of Emacs are included,
4681 such as: paragraph filling, mail reading with Rmail, shell handling,
4682 outlining, code highlighting and browsing, and man page browsing.
4683
4684    InfoDock questions, answers and discussion should go to the mail list
4685 <infodock@infodock.com>.  Use <infodock-request@infodock.com> to be
4686 added or removed from the list.  Always include your InfoDock version
4687 number when sending help requests.
4688
4689    InfoDock is available across the Internet via anonymous FTP.  To get
4690 it, first move to a directory into which you want the InfoDock archive
4691 files placed.  We will call this <DIST-DIR>.
4692
4693         cd <DIST-DIR>
4694
4695    Ftp to ftp.xemacs.org  (Internet Host ID = 128.174.252.16):
4696
4697         prompt> ftp ftp.xemacs.org
4698
4699    Login as `anonymous' with your own <user-id>@<site-name> as a
4700 password.
4701
4702         Name (ftp.xemacs.org): anonymous
4703         331 Guest login ok, send your complete e-mail address as password.
4704         Password: -<your-user-id>@<your-domain>
4705         230 Guest login ok, access restrictions apply.
4706
4707    Move to the location of the InfoDock archives:
4708
4709         ftp> cd pub/infodock
4710
4711    Set your transfer mode to binary:
4712
4713         ftp> bin
4714         200 Type set to I.
4715
4716    Turn off prompting:
4717
4718         ftp> prompt
4719         Interactive mode off.
4720
4721    Retrieve the InfoDock archives that you want, either by using a `get
4722 <file>' for each file you want or by using the following to get a
4723 complete distribution, including all binaries:
4724
4725         ftp> mget ID-INSTALL
4726         ftp> mget id-*
4727
4728    Close the FTP connection:
4729
4730         ftp> quit
4731         221 Goodbye.
4732
4733    Read the `ID-INSTALL' file which you just retrieved for step-by-step
4734 installation instructions.
4735
4736 \1f
4737 File: xemacs-faq.info,  Node: Q4.7.1,  Next: Q4.7.2,  Prev: Q4.6.1,  Up: Subsystems
4738
4739 4.7: Other Unbundled Packages
4740 =============================
4741
4742 Q4.7.1: What is AUC TeX?  Where do you get it?
4743 ----------------------------------------------
4744
4745 AUC TeX is a package written by Per Abrahamsen <abraham@dina.kvl.dk>.
4746 Starting with XEmacs 19.16, AUC TeX is bundled with XEmacs.  The
4747 following information is from the `README' and website.
4748
4749    AUC TeX is an extensible package that supports writing and formatting
4750 TeX files for most variants of GNU Emacs. Many different macro packages
4751 are supported, including AMS TeX, LaTeX, and TeXinfo.
4752
4753    The most recent version is always available by ftp at
4754 `ftp://sunsite.dk/packages/auctex/auctex.tar.gz'.
4755
4756    In case you don't have access to anonymous ftp, you can get it by an
4757 email request to <ftpmail@decwrl.dec.com>.
4758
4759    WWW users may want to check out the AUC TeX page at
4760 `http://sunsite.dk/auctex/'.
4761
4762 \1f
4763 File: xemacs-faq.info,  Node: Q4.7.2,  Next: Q4.7.3,  Prev: Q4.7.1,  Up: Subsystems
4764
4765 Q4.7.2: Are there any Emacs Lisp Spreadsheets?
4766 ----------------------------------------------
4767
4768 Yes.  Check out "dismal" (which stands for Dis' Mode Ain't Lotus) at
4769 `ftp://cs.nyu.edu/pub/local/fox/dismal/'.
4770
4771 \1f
4772 File: xemacs-faq.info,  Node: Q4.7.3,  Next: Q4.7.4,  Prev: Q4.7.2,  Up: Subsystems
4773
4774 Q4.7.3: [This question intentionally left blank]
4775 ------------------------------------------------
4776
4777 \1f
4778 File: xemacs-faq.info,  Node: Q4.7.4,  Next: Q4.7.5,  Prev: Q4.7.3,  Up: Subsystems
4779
4780 Q4.7.4: Problems installing AUC TeX.
4781 ------------------------------------
4782
4783 Jan Vroonhof <vroonhof@math.ethz.ch> writes:
4784
4785      AUC TeX works fine on both stock Emacs and XEmacs has been doing
4786      so for a very very long time. This is mostly due to the work of
4787      Per Abrahamsen <abraham@dina.kvl.dk> (clap clap) in particular his
4788      `easymenu' package.  Which leads to what is probably the problem...
4789
4790    Most problems with AUC TeX are one of two things:
4791
4792    * The TeX-lisp-directory in `tex-site.el' and the makefile don't
4793      match.
4794
4795      Fix: make sure you configure AUC TeX properly *before* installing.
4796
4797    * You have an old version of easymenu.el in your path.
4798
4799      Fix: use `locate-library' and remove old versions to make sure it
4800      *only* finds the one that came with XEmacs.
4801
4802 \1f
4803 File: xemacs-faq.info,  Node: Q4.7.5,  Next: Q4.7.6,  Prev: Q4.7.4,  Up: Subsystems
4804
4805 Q4.7.5: Is there a reason for an Emacs package not to be included in XEmacs?
4806 ----------------------------------------------------------------------------
4807
4808 The reason for an Emacs package not to be included in XEmacs is usually
4809 one or more of the following:
4810
4811   1. The package has not been ported to XEmacs.  This will typically
4812      happen when it uses GNU-Emacs-specific features, which make it
4813      fail under XEmacs.
4814
4815      Porting a package to XEmacs can range from a trivial amount of
4816      change to a partial or full rewrite.  Fortunately, the authors of
4817      modern packages usually choose to support both Emacsen themselves.
4818
4819   2. The package has been decided not to be appropriate for XEmacs.  It
4820      may have an equivalent or better replacement within XEmacs, in
4821      which case the developers may choose not to burden themselves with
4822      supporting an additional package.
4823
4824      Each package bundled with XEmacs means more work for the
4825      maintainers, whether they want it or not.  If you are ready to
4826      take over the maintenance responsibilities for the package you
4827      port, be sure to say so--we will more likely include it.
4828
4829   3. The package simply hasn't been noted by the XEmacs development.  If
4830      that's the case, the messages like yours are very useful for
4831      attracting our attention.
4832
4833   4. The package was noted by the developers, but they simply haven't
4834      yet gotten around to including/porting it.  Wait for the next
4835      release or, even better, offer your help.  It will be gladly
4836      accepted and appreciated.
4837
4838 \1f
4839 File: xemacs-faq.info,  Node: Q4.7.6,  Next: Q4.7.7,  Prev: Q4.7.5,  Up: Subsystems
4840
4841 Q4.7.5: Is there a MatLab mode?
4842 -------------------------------
4843
4844 Yes, a matlab mode and other items are available at the MathWorks'
4845 emacs_add_ons ftp directory
4846 (ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons).
4847
4848 \1f
4849 File: xemacs-faq.info,  Node: Q4.7.7,  Prev: Q4.7.6,  Up: Subsystems
4850
4851 Q4.7.7: Can I edit files on other hosts?
4852 ----------------------------------------
4853
4854 Yes.  Of course XEmacs can use any network file system (such as NFS or
4855 Windows file sharing) you have available, and includes some
4856 optimizations and safety features appropriate to those environments.
4857
4858    It is also possible to transparently edit files via FTP, ssh, or
4859 rsh.  That is, XEmacs makes a local copy using the transport in the
4860 background, and automatically refreshes the remote original from that
4861 copy when you save it.  XEmacs also is capable of doing file system
4862 manipulations like creating and removing directories and files.  The
4863 FTP interface is provided by the standard `efs' package *Note EFS:
4864 (efs)Top.  The ssh/rsh interface is provided by the optional `tramp'
4865 package *Note TRAMP: (tramp)Top.
4866
4867 \1f
4868 File: xemacs-faq.info,  Node: Miscellaneous,  Next: MS Windows,  Prev: Subsystems,  Up: Top
4869
4870 5 The Miscellaneous Stuff
4871 *************************
4872
4873 This is part 5 of the XEmacs Frequently Asked Questions list.  This
4874 section is devoted to anything that doesn't fit neatly into the other
4875 sections.
4876
4877 * Menu:
4878
4879 Major & Minor Modes:
4880 * Q5.0.1::      How can I do source code highlighting using font-lock?
4881 * Q5.0.2::      I do not like cc-mode.  How do I use the old c-mode?
4882 * Q5.0.3::      How do I get `More' Syntax Highlighting on by default?
4883 * Q5.0.4::      How can I enable auto-indent and/or Filladapt?
4884 * Q5.0.5::      How can I get XEmacs to come up in text/auto-fill mode by default?
4885 * Q5.0.6::      How do I start up a second shell buffer?
4886 * Q5.0.7::      Telnet from shell filters too much.
4887 * Q5.0.8::      Why does edt emulation not work?
4888 * Q5.0.9::      How can I emulate VI and use it as my default mode?
4889 * Q5.0.10::     [This question intentionally left blank]
4890 * Q5.0.11::     [This question intentionally left blank]
4891 * Q5.0.12::     How do I disable gnuserv from opening a new frame?
4892 * Q5.0.13::     How do I start gnuserv so that each subsequent XEmacs is a client?
4893 * Q5.0.14::     Strange things are happening in Shell Mode.
4894 * Q5.0.15::     Where do I get the latest CC Mode?
4895 * Q5.0.16::     I find auto-show-mode disconcerting.  How do I turn it off?
4896 * Q5.0.17::     How can I get two instances of info?
4897 * Q5.0.18::     [This question intentionally left blank]
4898 * Q5.0.19::     Is there something better than LaTeX mode?
4899 * Q5.0.20::     Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
4900
4901 Emacs Lisp Programming Techniques:
4902 * Q5.1.1::      The difference in key sequences between XEmacs and GNU Emacs?
4903 * Q5.1.2::      Can I generate "fake" keyboard events?
4904 * Q5.1.3::      Could you explain `read-kbd-macro' in more detail?
4905 * Q5.1.4::      What is the performance hit of `let'?
4906 * Q5.1.5::      What is the recommended use of `setq'?
4907 * Q5.1.6::      What is the typical misuse of `setq'?
4908 * Q5.1.7::      I like the `do' form of cl, does it slow things down?
4909 * Q5.1.8::      I like recursion, does it slow things down?
4910 * Q5.1.9::      How do I put a glyph as annotation in a buffer?
4911 * Q5.1.10::     `map-extents' won't traverse all of my extents!
4912 * Q5.1.11::     My elisp program is horribly slow.  Is there an easy way to find out where it spends time?
4913
4914 Sound:
4915 * Q5.2.1::      How do I turn off the sound?
4916 * Q5.2.2::      How do I get funky sounds instead of a boring beep?
4917 * Q5.2.3::      What's NAS, how do I get it?
4918 * Q5.2.4::      Sunsite sounds don't play.
4919
4920 Miscellaneous:
4921 * Q5.3.1::      How do you make XEmacs indent CL if-clauses correctly?
4922 * Q5.3.2::      [This question intentionally left blank]
4923 * Q5.3.3::      How can I print WYSIWYG a font-locked buffer?
4924 * Q5.3.4::      Getting M-x lpr to work with postscript printer.
4925 * Q5.3.5::      How do I specify the paths that XEmacs uses for finding files?
4926 * Q5.3.6::      [This question intentionally left blank]
4927 * Q5.3.7::      Can I have the end of the buffer delimited in some way?
4928 * Q5.3.8::      How do I insert today's date into a buffer?
4929 * Q5.3.9::      Are only certain syntactic character classes available for abbrevs?
4930 * Q5.3.10::     How can I get those oh-so-neat X-Face lines?
4931 * Q5.3.11::     How do I add new Info directories?
4932 * Q5.3.12::     What do I need to change to make printing work?
4933
4934 \1f
4935 File: xemacs-faq.info,  Node: Q5.0.1,  Next: Q5.0.2,  Prev: Miscellaneous,  Up: Miscellaneous
4936
4937 5.0: Major & Minor Modes
4938 ========================
4939
4940 Q5.0.1: How can I do source code highlighting using font-lock?
4941 --------------------------------------------------------------
4942
4943 For most modes, font-lock is already set up and just needs to be turned
4944 on.  This can be done by adding the line:
4945
4946      (require 'font-lock)
4947
4948    to your `init.el'/`.emacs'. (You can turn it on for the current
4949 buffer and session only by `M-x font-lock-mode'.) See the file
4950 `etc/sample.init.el' (`etc/sample.emacs' in XEmacs versions prior to
4951 21.4) for more information.
4952
4953    See also `Syntax Highlighting' from the `Options' menu.  Remember to
4954 save options.
4955
4956 \1f
4957 File: xemacs-faq.info,  Node: Q5.0.2,  Next: Q5.0.3,  Prev: Q5.0.1,  Up: Miscellaneous
4958
4959 Q5.0.2: I do not like cc-mode.  How do I use the old c-mode?
4960 ------------------------------------------------------------
4961
4962 Well, first off, consider if you really want to do this.  cc-mode is
4963 much more powerful than the old c-mode.  If you're having trouble
4964 getting your old offsets to work, try using `c-set-offset' instead.
4965 You might also consider using the package `cc-compat'.
4966
4967    But, if you still insist, add the following lines to your
4968 `init.el'/`.emacs':
4969
4970      (fmakunbound 'c-mode)
4971      (makunbound 'c-mode-map)
4972      (fmakunbound 'c++-mode)
4973      (makunbound 'c++-mode-map)
4974      (makunbound 'c-style-alist)
4975      (load-library "old-c-mode")
4976      (load-library "old-c++-mode")
4977
4978    This must be done before any other reference is made to either
4979 c-mode or c++-mode.
4980
4981 \1f
4982 File: xemacs-faq.info,  Node: Q5.0.3,  Next: Q5.0.4,  Prev: Q5.0.2,  Up: Miscellaneous
4983
4984 Q5.0.3: How do I get `More' Syntax Highlighting on by default?
4985 --------------------------------------------------------------
4986
4987 Use the following code in your `init.el'/`.emacs':
4988
4989      (setq-default font-lock-maximum-decoration t)
4990
4991    See also `Syntax Highlighting' from the `Options' menu.  Remember to
4992 save options.
4993
4994 \1f
4995 File: xemacs-faq.info,  Node: Q5.0.4,  Next: Q5.0.5,  Prev: Q5.0.3,  Up: Miscellaneous
4996
4997 Q5.0.4: How can I enable auto-indent and/or Filladapt?
4998 ------------------------------------------------------
4999
5000 Put the following line in your `init.el'/`.emacs':
5001
5002      (setq indent-line-function 'indent-relative-maybe)
5003
5004    If you want to get fancy, try the `filladapt' package available
5005 standard with XEmacs.  Put this into your `init.el'/`.emacs':
5006
5007      (require 'filladapt)
5008      (setq-default filladapt-mode t)
5009      (add-hook 'c-mode-hook 'turn-off-filladapt-mode)
5010
5011    This will enable Filladapt for all modes except C mode, where it
5012 doesn't work well.  To turn Filladapt on only in particular major
5013 modes, remove the `(setq-default ...)' line and use
5014 `turn-on-filladapt-mode', like this:
5015
5016      (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
5017
5018    You can customize filling and adaptive filling with Customize.
5019 Select from the `Options' menu `Advanced
5020 (Customize)->Emacs->Editing->Fill->Fill...' or type `M-x customize
5021 <RET> fill <RET>'.
5022
5023    Note that well-behaving text-lookalike modes will run
5024 `text-mode-hook' by default (e.g. that's what Message does).  For the
5025 nasty ones, you'll have to provide the `add-hook's yourself.
5026
5027    Please note that the `fa-extras' package is no longer useful.
5028
5029 \1f
5030 File: xemacs-faq.info,  Node: Q5.0.5,  Next: Q5.0.6,  Prev: Q5.0.4,  Up: Miscellaneous
5031
5032 Q5.0.5: How can I get XEmacs to come up in text/auto-fill mode by default?
5033 --------------------------------------------------------------------------
5034
5035 Try the following lisp in your `init.el'/`.emacs':
5036
5037      (setq default-major-mode 'text-mode)
5038      (setq text-mode-hook 'turn-on-auto-fill)
5039
5040    *WARNING*: note that changing the value of `default-major-mode' from
5041 `fundamental-mode' can break a large amount of built-in code that
5042 expects newly created buffers to be in `fundamental-mode'.  (Changing
5043 from `fundamental-mode' to `text-mode' might not wreak too much havoc,
5044 but changing to something more exotic like a lisp-mode would break many
5045 Emacs packages).
5046
5047    Note that Emacs by default starts up in buffer `*scratch*' in
5048 `initial-major-mode', which defaults to `lisp-interaction-mode'. Thus
5049 adding the following form to your Emacs init file will cause the
5050 initial `*scratch*' buffer to be put into auto-fill'ed `text-mode':
5051
5052      (setq initial-major-mode
5053            (lambda ()
5054              (text-mode)
5055              (turn-on-auto-fill)))
5056
5057    Note that after your init file is loaded, if
5058 `inhibit-startup-message' is `nil' (the default) and the startup buffer
5059 is `*scratch*' then the startup message will be inserted into
5060 `*scratch*'; it will be removed after a timeout by erasing the entire
5061 `*scratch*' buffer.  Keep in mind this default usage of `*scratch*' if
5062 you desire any prior manipulation of `*scratch*' from within your Emacs
5063 init file. In particular, anything you insert into `*scratch*' from
5064 your init file will be later erased. Also, if you change the mode of
5065 the `*scratch*' buffer, be sure that this will not interfere with
5066 possible later insertion of the startup message (e.g. if you put
5067 `*scratch*' into a nonstandard mode that has automatic font lock rules,
5068 then the startup message might get fontified in a strange foreign
5069 manner, e.g. as code in some programming language).
5070
5071 \1f
5072 File: xemacs-faq.info,  Node: Q5.0.6,  Next: Q5.0.7,  Prev: Q5.0.5,  Up: Miscellaneous
5073
5074 Q5.0.6: How do I start up a second shell buffer?
5075 ------------------------------------------------
5076
5077 In the `*shell*' buffer:
5078
5079      M-x rename-buffer <RET> *shell-1* <RET>
5080      M-x shell RET
5081
5082    This will then start a second shell.  The key is that no buffer named
5083 `*shell*' can exist.  It might be preferable to use `M-x
5084 rename-uniquely' to rename the `*shell*' buffer instead of `M-x
5085 rename-buffer'.
5086
5087    Alternately, you can set the variable `shell-multiple-shells'.  If
5088 the value of this variable is non-nil, each time shell mode is invoked,
5089 a new shell is made
5090
5091 \1f
5092 File: xemacs-faq.info,  Node: Q5.0.7,  Next: Q5.0.8,  Prev: Q5.0.6,  Up: Miscellaneous
5093
5094 Q5.0.7: Telnet from shell filters too much
5095 ------------------------------------------
5096
5097 I'm using the Emacs `M-x shell' function, and I would like to invoke
5098 and use a telnet session within it.  Everything works fine except that
5099 now all `^M''s are filtered out by Emacs.  Fixes?
5100
5101    Use `M-x rsh' or `M-x telnet' to open remote sessions rather than
5102 doing rsh or telnet within the local shell buffer.  Starting with
5103 XEmacs-20.3 you can also use `M-x ssh' to open secure remote session if
5104 you have `ssh' installed.
5105
5106 \1f
5107 File: xemacs-faq.info,  Node: Q5.0.8,  Next: Q5.0.9,  Prev: Q5.0.7,  Up: Miscellaneous
5108
5109 Q5.0.8: Why does edt emulation not work?
5110 ----------------------------------------
5111
5112 We don't know, but you can use tpu-edt emulation instead, which works
5113 fine and is a little fancier than the standard edt emulation.  To do
5114 this, add the following line to your `init.el'/`.emacs':
5115
5116      (tpu-edt)
5117
5118    If you don't want it to replace `C-h' with an edt-style help menu
5119 add this as well:
5120
5121      (global-set-key [(control h)] 'help-for-help)
5122
5123 \1f
5124 File: xemacs-faq.info,  Node: Q5.0.9,  Next: Q5.0.10,  Prev: Q5.0.8,  Up: Miscellaneous
5125
5126 Q5.0.9: How can I emulate VI and use it as my default mode?
5127 -----------------------------------------------------------
5128
5129 Our recommended VI emulator is viper. To make viper-mode the default,
5130 add this to your `init.el'/`.emacs':
5131
5132      (viper-mode)
5133
5134    Michael Kifer <kifer@CS.SunySB.EDU> writes:
5135
5136      This should be added as close to the top of `init.el'/`.emacs' as
5137      you can get it, otherwise some minor modes may not get viper-ized.
5138
5139 \1f
5140 File: xemacs-faq.info,  Node: Q5.0.10,  Next: Q5.0.11,  Prev: Q5.0.9,  Up: Miscellaneous
5141
5142 Q5.0.10: [This question intentionally left blank]
5143 -------------------------------------------------
5144
5145 Obsolete question, left blank to avoid renumbering
5146
5147 \1f
5148 File: xemacs-faq.info,  Node: Q5.0.11,  Next: Q5.0.12,  Prev: Q5.0.10,  Up: Miscellaneous
5149
5150 Q5.0.11: [This question intentionally left blank]
5151 -------------------------------------------------
5152
5153 Obsolete question, left blank to avoid renumbering
5154
5155 \1f
5156 File: xemacs-faq.info,  Node: Q5.0.12,  Next: Q5.0.13,  Prev: Q5.0.11,  Up: Miscellaneous
5157
5158 Q5.0.12: How do I disable gnuserv from opening a new frame?
5159 -----------------------------------------------------------
5160
5161 If you set the `gnuserv-frame' variable to the frame that should be
5162 used to display buffers that are pulled up, a new frame will not be
5163 created. For example, you could put
5164
5165      (setq gnuserv-frame (selected-frame))
5166
5167    early on in your `init.el'/`.emacs', to ensure that the first frame
5168 created is the one used for your gnuserv buffers.
5169
5170    There is an option to set the gnuserv target to the current frame.
5171 See `Options->Display->"Other Window" Location->Make Current Frame
5172 Gnuserv Target'
5173
5174    Starting with XEmacs-20.3 you can also change this with Customize.
5175 Select from the `Options' menu `Advanced
5176 (Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...' or type
5177 `M-x customize <RET> gnuserv <RET>'.
5178
5179 \1f
5180 File: xemacs-faq.info,  Node: Q5.0.13,  Next: Q5.0.14,  Prev: Q5.0.12,  Up: Miscellaneous
5181
5182 Q5.0.13: How do I start gnuserv so that each subsequent XEmacs is a client?
5183 ---------------------------------------------------------------------------
5184
5185 Put the following in your `init.el'/`.emacs' file to start the server:
5186
5187      (gnuserv-start)
5188
5189    Start your first XEmacs as usual.  After that, you can do:
5190
5191      gnuclient randomfilename
5192
5193    from the command line to get your existing XEmacs process to open a
5194 new frame and visit randomfilename in that window. When you're done
5195 editing randomfilename, hit `C-x #' to kill the buffer and get rid of
5196 the frame.
5197
5198    See also man page of gnuclient.
5199
5200 \1f
5201 File: xemacs-faq.info,  Node: Q5.0.14,  Next: Q5.0.15,  Prev: Q5.0.13,  Up: Miscellaneous
5202
5203 Q5.0.14: Strange things are happening in Shell Mode.
5204 ----------------------------------------------------
5205
5206 Sometimes (i.e. it's not repeatable, and I can't work out why it
5207 happens) when I'm typing into shell mode, I hit return and only a
5208 portion of the command is given to the shell, and a blank prompt is
5209 returned.  If I hit return again, the rest of the previous command is
5210 given to the shell.
5211
5212    Martin Buchholz <martin@xemacs.org> writes:
5213
5214      There is a known problem with interaction between `csh' and the
5215      `filec' option and XEmacs.  You should add the following to your
5216      `.cshrc':
5217
5218           if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
5219
5220 \1f
5221 File: xemacs-faq.info,  Node: Q5.0.15,  Next: Q5.0.16,  Prev: Q5.0.14,  Up: Miscellaneous
5222
5223 Q5.0.15: Where do I get the latest CC Mode?
5224 -------------------------------------------
5225
5226 Barry A. Warsaw <bwarsaw@cnri.reston.va.us> writes:
5227
5228      This can be had from `http://www.python.org/emacs/'.
5229
5230 \1f
5231 File: xemacs-faq.info,  Node: Q5.0.16,  Next: Q5.0.17,  Prev: Q5.0.15,  Up: Miscellaneous
5232
5233 Q5.0.16: I find auto-show-mode disconcerting.  How do I turn it off?
5234 --------------------------------------------------------------------
5235
5236 `auto-show-mode' controls whether or not a horizontal scrollbar
5237 magically appears when a line is too long to be displayed.  This is
5238 enabled by default.  To turn it off, put the following in your
5239 `init.el'/`.emacs':
5240
5241      (setq auto-show-mode nil)
5242      (setq-default auto-show-mode nil)
5243
5244 \1f
5245 File: xemacs-faq.info,  Node: Q5.0.17,  Next: Q5.0.18,  Prev: Q5.0.16,  Up: Miscellaneous
5246
5247 Q5.0.17: How can I get two instances of info?
5248 ---------------------------------------------
5249
5250 Before 21.4, you can't.  The `info' package does not provide for
5251 multiple info buffers.  In 21.4, this should be fixed. #### how?
5252
5253 \1f
5254 File: xemacs-faq.info,  Node: Q5.0.18,  Next: Q5.0.19,  Prev: Q5.0.17,  Up: Miscellaneous
5255
5256 Q5.0.18: [This question intentionally left blank]
5257 -------------------------------------------------
5258
5259 \1f
5260 File: xemacs-faq.info,  Node: Q5.0.19,  Next: Q5.0.20,  Prev: Q5.0.18,  Up: Miscellaneous
5261
5262 Q5.0.19: Is there something better than LaTeX mode?
5263 ---------------------------------------------------
5264
5265 David Kastrup <dak@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:
5266
5267      The standard TeX modes leave much to be desired, and are somewhat
5268      leniently maintained.  Serious TeX users use AUC TeX (*note
5269      Q4.7.1::).
5270
5271 \1f
5272 File: xemacs-faq.info,  Node: Q5.0.20,  Next: Q5.1.1,  Prev: Q5.0.19,  Up: Miscellaneous
5273
5274 Q5.0.20: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
5275 ---------------------------------------------------------------------------------------------------------
5276
5277 Jan Vroonhof <vroonhof@math.ethz.ch> writes:
5278
5279      Here is one of the solutions, we have this in a script called
5280      `etc/editclient.sh'.
5281            #!/bin/sh
5282            if gnuclient -batch -eval t >/dev/null 2>&1
5283            then
5284              exec gnuclient ${1+"$@"}
5285            else
5286              xemacs -unmapped -f gnuserv-start &
5287              until gnuclient -batch -eval t >/dev/null 2>&1
5288              do
5289                 sleep 1
5290              done
5291              exec gnuclient ${1+"$@"}
5292            fi
5293
5294      Note that there is a known problem when running XEmacs and
5295      'gnuclient -nw' on the same TTY.
5296
5297 \1f
5298 File: xemacs-faq.info,  Node: Q5.1.1,  Next: Q5.1.2,  Prev: Q5.0.20,  Up: Miscellaneous
5299
5300 5.1: Emacs Lisp Programming Techniques
5301 ======================================
5302
5303 Q5.1.1: What is the difference in key sequences between XEmacs and GNU Emacs?
5304 -----------------------------------------------------------------------------
5305
5306 Erik Naggum <clerik@naggum.no> writes;
5307
5308      Emacs has a legacy of keyboards that produced characters with
5309      modifier bits, and therefore map a variety of input systems into
5310      this scheme even today.  XEmacs is instead optimized for X events.
5311      This causes an incompatibility in the way key sequences are
5312      specified, but both Emacs and XEmacs will accept a key sequence as
5313      a vector of lists of modifiers that ends with a key, e.g., to bind
5314      `M-C-a', you would say `[(meta control a)]' in both Emacsen.
5315      XEmacs has an abbreviated form for a single key, just (meta
5316      control a).  Emacs has an abbreviated form for the Control and the
5317      Meta modifiers to string-characters (the ASCII characters), as in
5318      `\M-\C-a'.  XEmacs users need to be aware that the abbreviated
5319      form works only for one-character key sequences, while Emacs users
5320      need to be aware that the string-character is rather limited.
5321      Specifically, the string-character can accommodate only 256
5322      different values, 128 of which have the Meta modifier and 128 of
5323      which have not.  In each of these blocks, only 32 characters have
5324      the Control modifier.  Whereas `[(meta control A)]' differs from
5325      `[(meta control a)]' because the case differs, `\M-\C-a' and
5326      `\M-\C-A' do not.  Programmers are advised to use the full common
5327      form, both because it is more readable and less error-prone, and
5328      because it is supported by both Emacsen.
5329
5330    Another (even safer) way to be sure of the key-sequences is to use
5331 the `read-kbd-macro' function, which takes a string like `C-c <up>',
5332 and converts it to the internal key representation of the Emacs you
5333 use.  The function is available both on XEmacs and GNU Emacs.
5334
5335 \1f
5336 File: xemacs-faq.info,  Node: Q5.1.2,  Next: Q5.1.3,  Prev: Q5.1.1,  Up: Miscellaneous
5337
5338 Q5.1.2: Can I generate "fake" keyboard events?
5339 ----------------------------------------------
5340
5341 I wonder if there is an interactive function that can generate "fake"
5342 keyboard events.  This way, I could simply map them inside XEmacs.
5343
5344    This seems to work:
5345
5346      (defun cg--generate-char-event (ch)
5347        "Generate an event, as if ch has been typed"
5348        (dispatch-event (character-to-event ch)))
5349      
5350      ;;  Backspace and Delete stuff
5351      (global-set-key [backspace]
5352        (lambda () (interactive) (cg--generate-char-event 127)))
5353      (global-set-key [unknown_keysym_0x4]
5354        (lambda () (interactive) (cg--generate-char-event 4)))
5355
5356 \1f
5357 File: xemacs-faq.info,  Node: Q5.1.3,  Next: Q5.1.4,  Prev: Q5.1.2,  Up: Miscellaneous
5358
5359 Q5.1.3: Could you explain `read-kbd-macro' in more detail?
5360 ----------------------------------------------------------
5361
5362 The `read-kbd-macro' function returns the internal Emacs representation
5363 of a human-readable string (which is its argument).  Thus:
5364
5365      (read-kbd-macro "C-c C-a")
5366      => [(control ?c) (control ?a)]
5367      
5368      (read-kbd-macro "C-c C-. <up>")
5369      => [(control ?c) (control ?.) up]
5370
5371    In GNU Emacs the same forms will be evaluated to what GNU Emacs
5372 understands internally--the sequences `"\C-x\C-c"' and `[3 67108910
5373 up]', respectively.
5374
5375    The exact "human-readable" syntax is defined in the docstring of
5376 `edmacro-mode'.  I'll repeat it here, for completeness.
5377
5378      Format of keyboard macros during editing:
5379
5380      Text is divided into "words" separated by whitespace.  Except for
5381      the words described below, the characters of each word go directly
5382      as characters of the macro.  The whitespace that separates words is
5383      ignored.  Whitespace in the macro must be written explicitly, as in
5384      `foo <SPC> bar <RET>'.
5385
5386         * The special words `RET', `SPC', `TAB', `DEL', `LFD', `ESC',
5387           and `NUL' represent special control characters.  The words
5388           must be written in uppercase.
5389
5390         * A word in angle brackets, e.g., `<return>', `<down>', or
5391           `<f1>', represents a function key.  (Note that in the standard
5392           configuration, the function key `<return>' and the control key
5393           <RET> are synonymous.)  You can use angle brackets on the
5394           words <RET>, <SPC>, etc., but they are not required there.
5395
5396         * Keys can be written by their ASCII code, using a backslash
5397           followed by up to six octal digits.  This is the only way to
5398           represent keys with codes above \377.
5399
5400         * One or more prefixes `M-' (meta), `C-' (control), `S-'
5401           (shift), `A-' (alt), `H-' (hyper), and `s-' (super) may
5402           precede a character or key notation.  For function keys, the
5403           prefixes may go inside or outside of the brackets: `C-<down>'
5404           == `<C-down>'.  The prefixes may be written in any order:
5405           `M-C-x' == `C-M-x'.
5406
5407           Prefixes are not allowed on multi-key words, e.g., `C-abc',
5408           except that the Meta prefix is allowed on a sequence of
5409           digits and optional minus sign: `M--123' == `M-- M-1 M-2 M-3'.
5410
5411         * The `^' notation for control characters also works: `^M' ==
5412           `C-m'.
5413
5414         * Double angle brackets enclose command names: `<<next-line>>'
5415           is shorthand for `M-x next-line <RET>'.
5416
5417         * Finally, `REM' or `;;' causes the rest of the line to be
5418           ignored as a comment.
5419
5420      Any word may be prefixed by a multiplier in the form of a decimal
5421      number and `*': `3*<right>' == `<right> <right> <right>', and
5422      `10*foo' == `foofoofoofoofoofoofoofoofoofoo'.
5423
5424      Multiple text keys can normally be strung together to form a word,
5425      but you may need to add whitespace if the word would look like one
5426      of the above notations: `; ; ;' is a keyboard macro with three
5427      semicolons, but `;;;' is a comment.  Likewise, `\ 1 2 3' is four
5428      keys but `\123' is a single key written in octal, and `< right >'
5429      is seven keys but `<right>' is a single function key.  When in
5430      doubt, use whitespace.
5431
5432 \1f
5433 File: xemacs-faq.info,  Node: Q5.1.4,  Next: Q5.1.5,  Prev: Q5.1.3,  Up: Miscellaneous
5434
5435 Q5.1.4: What is the performance hit of `let'?
5436 ---------------------------------------------
5437
5438 In most cases, not noticeable.  Besides, there's no avoiding `let'--you
5439 have to bind your local variables, after all.  Some pose a question
5440 whether to nest `let's, or use one `let' per function.  I think because
5441 of clarity and maintenance (and possible future implementation),
5442 `let'-s should be used (nested) in a way to provide the clearest code.
5443
5444 \1f
5445 File: xemacs-faq.info,  Node: Q5.1.5,  Next: Q5.1.6,  Prev: Q5.1.4,  Up: Miscellaneous
5446
5447 Q5.1.5: What is the recommended use of `setq'?
5448 ----------------------------------------------
5449
5450    * Global variables
5451
5452      You will typically `defvar' your global variable to a default
5453      value, and use `setq' to set it later.
5454
5455      It is never a good practice to `setq' user variables (like
5456      `case-fold-search', etc.), as it ignores the user's choice
5457      unconditionally.  Note that `defvar' doesn't change the value of a
5458      variable if it was bound previously.  If you wish to change a
5459      user-variable temporarily, use `let':
5460
5461           (let ((case-fold-search nil))
5462             ...                                   ; code with searches that must be case-sensitive
5463             ...)
5464
5465      You will notice the user-variables by their docstrings beginning
5466      with an asterisk (a convention).
5467
5468    * Local variables
5469
5470      Bind them with `let', which will unbind them (or restore their
5471      previous value, if they were bound) after exiting from the `let'
5472      form.  Change the value of local variables with `setq' or whatever
5473      you like (e.g. `incf', `setf' and such).  The `let' form can even
5474      return one of its local variables.
5475
5476      Typical usage:
5477
5478           ;; iterate through the elements of the list returned by
5479           ;; `hairy-function-that-returns-list'
5480           (let ((l (hairy-function-that-returns-list)))
5481             (while l
5482               ... do something with (car l) ...
5483               (setq l (cdr l))))
5484
5485      Another typical usage includes building a value simply to work
5486      with it.
5487
5488           ;; Build the mode keymap out of the key-translation-alist
5489           (let ((inbox (file-truename (expand-file-name box)))
5490                 (i 0))
5491             ... code dealing with inbox ...
5492             inbox)
5493
5494      This piece of code uses the local variable `inbox', which becomes
5495      unbound (or regains old value) after exiting the form.  The form
5496      also returns the value of `inbox', which can be reused, for
5497      instance:
5498
5499           (setq foo-processed-inbox
5500                 (let .....))
5501
5502 \1f
5503 File: xemacs-faq.info,  Node: Q5.1.6,  Next: Q5.1.7,  Prev: Q5.1.5,  Up: Miscellaneous
5504
5505 Q5.1.6: What is the typical misuse of `setq' ?
5506 ----------------------------------------------
5507
5508 A typical misuse is probably `setq'ing a variable that was meant to be
5509 local.  Such a variable will remain bound forever, never to be
5510 garbage-collected.  For example, the code doing:
5511
5512      (defun my-function (whatever)
5513        (setq a nil)
5514        ... build a large list ...
5515        ... and exit ...)
5516
5517    does a bad thing, as `a' will keep consuming memory, never to be
5518 unbound.  The correct thing is to do it like this:
5519
5520      (defun my-function (whatever)
5521        (let (a)                              ; default initialization is to nil
5522          ... build a large list ...
5523          ... and exit, unbinding `a' in the process  ...)
5524
5525    Not only is this prettier syntactically, but it makes it possible for
5526 Emacs to garbage-collect the objects which `a' used to reference.
5527
5528    Note that even global variables should not be `setq'ed without
5529 `defvar'ing them first, because the byte-compiler issues warnings.  The
5530 reason for the warning is the following:
5531
5532      (defun flurgoze nil)                    ; ok, global internal variable
5533      ...
5534      
5535      (setq flurghoze t)                      ; ops!  a typo, but semantically correct.
5536                                              ; however, the byte-compiler warns.
5537      
5538      While compiling toplevel forms:
5539      ** assignment to free variable flurghoze
5540
5541 \1f
5542 File: xemacs-faq.info,  Node: Q5.1.7,  Next: Q5.1.8,  Prev: Q5.1.6,  Up: Miscellaneous
5543
5544 Q5.1.7: I like the `do' form of cl, does it slow things down?
5545 -------------------------------------------------------------
5546
5547 It shouldn't.  Here is what Dave Gillespie has to say about cl.el
5548 performance:
5549
5550      Many of the advanced features of this package, such as `defun*',
5551      `loop', and `setf', are implemented as Lisp macros.  In
5552      byte-compiled code, these complex notations will be expanded into
5553      equivalent Lisp code which is simple and efficient.  For example,
5554      the forms
5555
5556           (incf i n)
5557           (push x (car p))
5558
5559      are expanded at compile-time to the Lisp forms
5560
5561           (setq i (+ i n))
5562           (setcar p (cons x (car p)))
5563
5564      which are the most efficient ways of doing these respective
5565      operations in Lisp.  Thus, there is no performance penalty for
5566      using the more readable `incf' and `push' forms in your compiled
5567      code.
5568
5569      _Interpreted_ code, on the other hand, must expand these macros
5570      every time they are executed.  For this reason it is strongly
5571      recommended that code making heavy use of macros be compiled.  (The
5572      features labelled "Special Form" instead of "Function" in this
5573      manual are macros.)  A loop using `incf' a hundred times will
5574      execute considerably faster if compiled, and will also
5575      garbage-collect less because the macro expansion will not have to
5576      be generated, used, and thrown away a hundred times.
5577
5578      You can find out how a macro expands by using the `cl-prettyexpand'
5579      function.
5580
5581 \1f
5582 File: xemacs-faq.info,  Node: Q5.1.8,  Next: Q5.1.9,  Prev: Q5.1.7,  Up: Miscellaneous
5583
5584 Q5.1.8: I like recursion, does it slow things down?
5585 ---------------------------------------------------
5586
5587 Yes.  Emacs byte-compiler cannot do much to optimize recursion.  But
5588 think well whether this is a real concern in Emacs.  Much of the Emacs
5589 slowness comes from internal mechanisms such as redisplay, or from the
5590 fact that it is an interpreter.
5591
5592    Please try not to make your code much uglier to gain a very small
5593 speed gain.  It's not usually worth it.
5594
5595 \1f
5596 File: xemacs-faq.info,  Node: Q5.1.9,  Next: Q5.1.10,  Prev: Q5.1.8,  Up: Miscellaneous
5597
5598 Q5.1.9: How do I put a glyph as annotation in a buffer?
5599 -------------------------------------------------------
5600
5601 Here is a solution that will insert the glyph annotation at the
5602 beginning of buffer:
5603
5604      (make-annotation (make-glyph '([FORMAT :file FILE]
5605                                     [string :data "fallback-text"]))
5606                       (point-min)
5607                       'text
5608                       (current-buffer))
5609
5610    Replace `FORMAT' with an unquoted symbol representing the format of
5611 the image (e.g. `xpm', `xbm', `gif', `jpeg', etc.)  Instead of `FILE',
5612 use the image file name (e.g.
5613 `/usr/local/lib/xemacs-21.4/etc/recycle.xpm').
5614
5615    You can turn this to a function (that optionally prompts you for a
5616 file name), and inserts the glyph at `(point)' instead of `(point-min)'.
5617
5618 \1f
5619 File: xemacs-faq.info,  Node: Q5.1.10,  Next: Q5.1.11,  Prev: Q5.1.9,  Up: Miscellaneous
5620
5621 Q5.1.10: `map-extents' won't traverse all of my extents!
5622 --------------------------------------------------------
5623
5624 I tried to use `map-extents' to do an operation on all the extents in a
5625 region.  However, it seems to quit after processing a random number of
5626 extents.  Is it buggy?
5627
5628    No.  The documentation of `map-extents' states that it will iterate
5629 across the extents as long as FUNCTION returns `nil'.  Unexperienced
5630 programmers often forget to return `nil' explicitly, which results in
5631 buggy code.  For instance, the following code is supposed to delete all
5632 the extents in a buffer, and issue as many `fubar!' messages.
5633
5634      (map-extents (lambda (ext ignore)
5635                     (delete-extent ext)
5636                     (message "fubar!")))
5637
5638    Instead, it will delete only the first extent, and stop right there -
5639 because `message' will return a non-nil value.  The correct code is:
5640
5641      (map-extents (lambda (ext ignore)
5642                     (delete-extent ext)
5643                     (message "fubar!")
5644                     nil))
5645
5646 \1f
5647 File: xemacs-faq.info,  Node: Q5.1.11,  Next: Q5.2.1,  Prev: Q5.1.10,  Up: Miscellaneous
5648
5649 Q5.1.11: My elisp program is horribly slow.  Is there
5650 -----------------------------------------------------
5651
5652 an easy way to find out where it spends time?
5653
5654    Hrvoje Niksic <hniksic@xemacs.org> writes:
5655
5656      Under XEmacs 20.4 and later you can use `M-x profile-key-sequence',
5657      press a key (say <RET> in the Gnus Group buffer), and get the
5658      results using `M-x profile-results'.  It should give you an idea of
5659      where the time is being spent.
5660
5661 \1f
5662 File: xemacs-faq.info,  Node: Q5.2.1,  Next: Q5.2.2,  Prev: Q5.1.11,  Up: Miscellaneous
5663
5664 Q5.2.1: How do I turn off the sound?
5665 ------------------------------------
5666
5667 Add the following line to your `init.el'/`.emacs':
5668
5669      (setq bell-volume 0)
5670      (setq sound-alist nil)
5671
5672    That will make your XEmacs totally silent--even the default ding
5673 sound (TTY beep on TTY-s) will be gone.
5674
5675    Starting with XEmacs 20.2 you can also change these with Customize.
5676 Select from the `Options' menu `Advanced
5677 (Customize)->Emacs->Environment->Sound->Sound...' or type `M-x
5678 customize <RET> sound <RET>'.
5679
5680 \1f
5681 File: xemacs-faq.info,  Node: Q5.2.2,  Next: Q5.2.3,  Prev: Q5.2.1,  Up: Miscellaneous
5682
5683 Q5.2.2: How do I get funky sounds instead of a boring beep?
5684 -----------------------------------------------------------
5685
5686 Make sure your XEmacs was compiled with sound support, and then put this
5687 in your `init.el'/`.emacs':
5688
5689      (load-default-sounds)
5690
5691 \1f
5692 File: xemacs-faq.info,  Node: Q5.2.3,  Next: Q5.2.4,  Prev: Q5.2.2,  Up: Miscellaneous
5693
5694 Q5.2.3: What's NAS, how do I get it?
5695 ------------------------------------
5696
5697 *Note Q2.0.3::, for an explanation of the "Network Audio System".
5698
5699 \1f
5700 File: xemacs-faq.info,  Node: Q5.2.4,  Next: Q5.3.1,  Prev: Q5.2.3,  Up: Miscellaneous
5701
5702 Q5.2.4: Sunsite sounds don't play.
5703 ----------------------------------
5704
5705 I'm having some trouble with sounds I've downloaded from sunsite.  They
5706 play when I run them through `showaudio' or cat them directly to
5707 `/dev/audio', but XEmacs refuses to play them.
5708
5709    Markus Gutschke <gutschk@uni-muenster.de> writes:
5710
5711      [Many of] These files have an (erroneous) 24byte header that tells
5712      about the format that they have been recorded in. If you cat them
5713      to `/dev/audio', the header will be ignored and the default
5714      behavior for /dev/audio will be used. This happens to be 8kHz
5715      uLaw. It is probably possible to fix the header by piping through
5716      `sox' and passing explicit parameters for specifying the sampling
5717      format; you then need to perform a 'null' conversion from SunAudio
5718      to SunAudio.
5719
5720 \1f
5721 File: xemacs-faq.info,  Node: Q5.3.1,  Next: Q5.3.2,  Prev: Q5.2.4,  Up: Miscellaneous
5722
5723 5.3: Miscellaneous
5724 ==================
5725
5726 Q5.3.1: How do you make XEmacs indent CL if-clauses correctly?
5727 --------------------------------------------------------------
5728
5729 I'd like XEmacs to indent all the clauses of a Common Lisp `if' the
5730 same amount instead of indenting the 3rd clause differently from the
5731 first two.
5732
5733    One way is to add, to `init.el'/`.emacs':
5734
5735      (put 'if 'lisp-indent-function nil)
5736
5737    However, note that the package `cl-indent' that comes with XEmacs
5738 sets up this kind of indentation by default.  `cl-indent' also knows
5739 about many other CL-specific forms.  To use `cl-indent', one can do
5740 this:
5741
5742      (load "cl-indent")
5743      (setq lisp-indent-function (function common-lisp-indent-function))
5744
5745    One can also customize `cl-indent.el' so it mimics the default `if'
5746 indentation `then' indented more than the `else'.  Here's how:
5747
5748      (put 'if 'common-lisp-indent-function '(nil nil &body))
5749
5750    Also, a new version (1.2) of `cl-indent.el' was posted to
5751 comp.emacs.xemacs on 12/9/94.  This version includes more documentation
5752 than previous versions.  This may prove useful if you need to customize
5753 any indent-functions.
5754
5755 \1f
5756 File: xemacs-faq.info,  Node: Q5.3.2,  Next: Q5.3.3,  Prev: Q5.3.1,  Up: Miscellaneous
5757
5758 Q5.3.2: [This question intentionally left blank]
5759 ------------------------------------------------
5760
5761 Obsolete question, left blank to avoid renumbering.
5762
5763 \1f
5764 File: xemacs-faq.info,  Node: Q5.3.3,  Next: Q5.3.4,  Prev: Q5.3.2,  Up: Miscellaneous
5765
5766 Q5.3.3: How can I print WYSIWYG a font-locked buffer?
5767 -----------------------------------------------------
5768
5769 Font-lock looks nice.  How can I print (WYSIWYG) the highlighted
5770 document?
5771
5772    The package `ps-print', which is now included with XEmacs, provides
5773 the ability to do this.  The source code contains complete instructions
5774 on its use, in
5775 `$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el', being
5776 the default location of an installed ps-print package.
5777
5778 \1f
5779 File: xemacs-faq.info,  Node: Q5.3.4,  Next: Q5.3.5,  Prev: Q5.3.3,  Up: Miscellaneous
5780
5781 Q5.3.4: Getting `M-x lpr' to work with postscript printer.
5782 ----------------------------------------------------------
5783
5784 My printer is a Postscript printer and `lpr' only works for Postscript
5785 files, so how do I get `M-x lpr-region' and `M-x lpr-buffer' to work?
5786
5787    Put something like this in your `init.el'/`.emacs':
5788
5789      (setq lpr-command "a2ps")
5790      (setq lpr-switches '("-p" "-1"))
5791
5792    If you don't use a2ps to convert ASCII to postscript (why not, it's
5793 free?), replace with the command you do use.  Note also that some
5794 versions of a2ps require a `-Pprinter' to ensure spooling.
5795
5796 \1f
5797 File: xemacs-faq.info,  Node: Q5.3.5,  Next: Q5.3.6,  Prev: Q5.3.4,  Up: Miscellaneous
5798
5799 Q5.3.5: How do I specify the paths that XEmacs uses for finding files?
5800 ----------------------------------------------------------------------
5801
5802 You can specify what paths to use by using a number of different flags
5803 when running configure.  See the section MAKE VARIABLES in the top-level
5804 file INSTALL in the XEmacs distribution for a listing of those flags.
5805
5806    Most of the time, however, the simplest fix is: *do not* specify
5807 paths as you might for GNU Emacs.  XEmacs can generally determine the
5808 necessary paths dynamically at run time.  The only path that generally
5809 needs to be specified is the root directory to install into.  That can
5810 be specified by passing the `--prefix' flag to configure.  For a
5811 description of the XEmacs install tree, please consult the `NEWS' file.
5812
5813 \1f
5814 File: xemacs-faq.info,  Node: Q5.3.6,  Next: Q5.3.7,  Prev: Q5.3.5,  Up: Miscellaneous
5815
5816 Q5.3.6: [This question intentionally left blank]
5817 ------------------------------------------------
5818
5819 Obsolete question, left blank to avoid renumbering.
5820
5821 \1f
5822 File: xemacs-faq.info,  Node: Q5.3.7,  Next: Q5.3.8,  Prev: Q5.3.6,  Up: Miscellaneous
5823
5824 Q5.3.7: Can I have the end of the buffer delimited in some way?
5825 ---------------------------------------------------------------
5826
5827 Say, with: `[END]'?
5828
5829    Try this:
5830
5831      (let ((ext (make-extent (point-min) (point-max))))
5832        (set-extent-property ext 'start-closed t)
5833        (set-extent-property ext 'end-closed t)
5834        (set-extent-property ext 'detachable nil)
5835        (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
5836
5837    Since this is XEmacs, you can specify an icon to be shown on
5838 window-system devices.  To do so, change the `make-glyph' call to
5839 something like this:
5840
5841      (make-glyph '([xpm :file "~/something.xpm"]
5842                    [string :data "[END]"]))
5843
5844    You can inline the XPM definition yourself by specifying `:data'
5845 instead of `:file'.  Here is such a full-featured version that works on
5846 both X and TTY devices:
5847
5848      (let ((ext (make-extent (point-min) (point-max))))
5849        (set-extent-property ext 'start-closed t)
5850        (set-extent-property ext 'end-closed t)
5851        (set-extent-property ext 'detachable nil)
5852        (set-extent-end-glyph ext (make-glyph '([xpm :data "\
5853      /* XPM */
5854      static char* eye = {
5855      \"20 11 7 2\",
5856      \"__ c None\"
5857      \"_` c #7f7f7f\",
5858      \"_a c #fefefe\",
5859      \"_b c #7f0000\",
5860      \"_c c #fefe00\",
5861      \"_d c #fe0000\",
5862      \"_e c #bfbfbf\",
5863      \"___________`_`_`___b_b_b_b_________`____\",
5864      \"_________`_`_`___b_c_c_c_b_b____________\",
5865      \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
5866      \"___`_`_e_a___b_b_d___b___b___b___b______\",
5867      \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
5868      \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
5869      \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
5870      \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
5871      \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
5872      \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
5873      \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
5874      } ;"]
5875                                                [string :data "[END]"]))))
5876
5877    Note that you might want to make this a function, and put it to a
5878 hook.  We leave that as an exercise for the reader.
5879
5880 \1f
5881 File: xemacs-faq.info,  Node: Q5.3.8,  Next: Q5.3.9,  Prev: Q5.3.7,  Up: Miscellaneous
5882
5883 Q5.3.8: How do I insert today's date into a buffer?
5884 ---------------------------------------------------
5885
5886 Like this:
5887
5888      (insert (current-time-string))
5889
5890 \1f
5891 File: xemacs-faq.info,  Node: Q5.3.9,  Next: Q5.3.10,  Prev: Q5.3.8,  Up: Miscellaneous
5892
5893 Q5.3.9: Are only certain syntactic character classes available for abbrevs?
5894 ---------------------------------------------------------------------------
5895
5896 Markus Gutschke <gutschk@uni-muenster.de> writes:
5897
5898      Yes, abbrevs only expands word-syntax strings. While XEmacs does
5899      not prevent you from defining (e.g. with `C-x a g' or `C-x a l')
5900      abbrevs that contain special characters, it will refuse to expand
5901      them. So you need to ensure, that the abbreviation contains
5902      letters and digits only. This means that `xd', `d5', and `5d' are
5903      valid abbrevs, but `&d', and `x d' are not.
5904
5905      If this sounds confusing to you, (re-)read the online
5906      documentation for abbrevs (`C-h i m XEmacs <RET> m Abbrevs
5907      <RET>'), and then come back and read this question/answer again.
5908
5909    Starting with XEmacs 20.3 this restriction has been lifted.
5910
5911 \1f
5912 File: xemacs-faq.info,  Node: Q5.3.10,  Next: Q5.3.11,  Prev: Q5.3.9,  Up: Miscellaneous
5913
5914 Q5.3.10: How can I get those oh-so-neat X-Face lines?
5915 -----------------------------------------------------
5916
5917 Firstly there is an ftp site which describes X-faces and has the
5918 associated tools mentioned below, at
5919 `ftp://ftp.cs.indiana.edu:/pub/faces/'.
5920
5921    Then the steps are
5922
5923   1. Create 48x48x1 bitmap with your favorite tool
5924
5925   2. Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
5926      and then compile the face.
5927
5928   3.      cat file.xbm | xbm2ikon |compface > file.face
5929
5930   4. Then be sure to quote things that are necessary for emacs strings:
5931
5932           cat ./file.face | sed 's/\\/\\\\/g'
5933           | sed 's/\"/\\\"/g' > ./file.face.quoted
5934
5935   5. Then set up emacs to include the file as a mail header - there
5936      were a couple of suggestions here--either something like:
5937
5938           (setq  mail-default-headers
5939                  "X-Face:  <Ugly looking text string here>")
5940
5941      Or, alternatively, as:
5942
5943           (defun mail-insert-x-face ()
5944             (save-excursion
5945               (goto-char (point-min))
5946               (search-forward mail-header-separator)
5947               (beginning-of-line)
5948               (insert "X-Face:")
5949               (insert-file-contents "~/.face")))
5950           
5951           (add-hook 'mail-setup-hook 'mail-insert-x-face)
5952
5953    However, 2 things might be wrong:
5954
5955    Some versions of pbmtoicon produces some header lines that is not
5956 expected by the version of compface that I grabbed. So I found I had to
5957 include a `tail +3' in the pipeline like this:
5958
5959      cat file.xbm | xbm2ikon | tail +3 |compface > file.face
5960
5961    Some people have also found that if one uses the `(insert-file)'
5962 method, one should NOT quote the face string using the sed script .
5963
5964    It might also be helpful to use Stig's <stig@hackvan.com> script
5965 (included in the compface distribution at XEmacs.org) to do the
5966 conversion.
5967
5968    Contributors for this item:
5969
5970    Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, Heinz Uphoff,
5971 Peter Arius, Paul Harrison, and Vegard Vesterheim
5972
5973 \1f
5974 File: xemacs-faq.info,  Node: Q5.3.11,  Next: Q5.3.12,  Prev: Q5.3.10,  Up: Miscellaneous
5975
5976 Q5.3.11: How do I add new Info directories?
5977 -------------------------------------------
5978
5979 You use something like:
5980
5981      (setq Info-directory-list (cons
5982                                 (expand-file-name "~/info")
5983                                 Info-default-directory-list))
5984
5985    David Masterson <davidm@prism.kla.com> writes:
5986
5987      Emacs Info and XEmacs Info do many things differently.  If you're
5988      trying to support a number of versions of Emacs, here are some
5989      notes to remember:
5990
5991        1. Emacs Info scans `Info-directory-list' from right-to-left
5992           while XEmacs Info reads it from left-to-right, so append to
5993           the _correct_ end of the list.
5994
5995        2. Use `Info-default-directory-list' to initialize
5996           `Info-directory-list' _if_ it is available at startup, but not
5997           all Emacsen define it.
5998
5999        3. Emacs Info looks for a standard `dir' file in each of the
6000           directories scanned from #1 and magically concatenates them
6001           together.
6002
6003        4. XEmacs Info looks for a `localdir' file (which consists of
6004           just the menu entries from a `dir' file) in each of the
6005           directories scanned from #1 (except the first), does a simple
6006           concatenation of them, and magically attaches the resulting
6007           list to the end of the menu in the `dir' file in the first
6008           directory.
6009
6010      Another alternative is to convert the documentation to HTML with
6011      texi2html and read it from a web browser like Lynx or W3.
6012
6013 \1f
6014 File: xemacs-faq.info,  Node: Q5.3.12,  Prev: Q5.3.11,  Up: Miscellaneous
6015
6016 Q5.3.12: What do I need to change to make printing work?
6017 --------------------------------------------------------
6018
6019 For regular printing there are two variables that can be customized.
6020
6021 `lpr-command'
6022      This should be set to a command that takes standard input and sends
6023      it to a printer.  Something like:
6024
6025           (setq lpr-command "lp")
6026
6027 `lpr-switches'
6028      This should be set to a list that contains whatever the print
6029      command requires to do its job.  Something like:
6030
6031           (setq lpr-switches '("-depson"))
6032
6033    For postscript printing there are three analogous variables to
6034 customize.
6035
6036 `ps-lpr-command'
6037      This should be set to a command that takes postscript on standard
6038      input and directs it to a postscript printer.
6039
6040 `ps-lpr-switches'
6041      This should be set to a list of switches required for
6042      `ps-lpr-command' to do its job.
6043
6044 `ps-print-color-p'
6045      This boolean variable should be set `t' if printing will be done in
6046      color, otherwise it should be set to `nil'.
6047
6048    NOTE: It is an undocumented limitation in XEmacs that postscript
6049 printing (the `Pretty Print Buffer' menu item) *requires* a window
6050 system environment.  It cannot be used outside of X11.
6051
6052 \1f
6053 File: xemacs-faq.info,  Node: MS Windows,  Next: Current Events,  Prev: Miscellaneous,  Up: Top
6054
6055 6 XEmacs on MS Windows
6056 **********************
6057
6058 This is part 6 of the XEmacs Frequently Asked Questions list, written by
6059 Hrvoje Niksic and others.  This section is devoted to the MS Windows
6060 port of XEmacs.
6061
6062 * Menu:
6063
6064 General Info
6065 * Q6.0.1::      What is the status of the XEmacs port to Windows?
6066 * Q6.0.2::      What flavors of MS Windows are supported?  The list name implies NT only.
6067 * Q6.0.3::      Are binaries available?
6068 * Q6.0.4::      Can I build XEmacs on MS Windows with X support?  Do I need to?
6069 * Q6.0.5::      I'd like to help out.  What do I do?
6070 * Q6.0.6::      What are Cygwin and MinGW, and do I need them to run XEmacs?
6071 * Q6.0.7::      What exactly are all the different ways to build XEmacs under Windows?
6072
6073 Building XEmacs on MS Windows:
6074 * Q6.1.1::      What compiler/libraries do I need to compile XEmacs?
6075 * Q6.1.2::      How do I compile the native port?
6076 * Q6.1.3::      What do I need for Cygwin?
6077 * Q6.1.4::      How do I compile under Cygwin?
6078 * Q6.1.5::      How do I compile using MinGW (aka `the -mno-cygwin flag to gcc')?
6079 * Q6.1.6::      I decided to run with X.  Where do I get an X server?
6080 * Q6.1.7::      How do I compile with X support?
6081
6082 Customization and User Interface:
6083 * Q6.2.1::      How does the port cope with differences in the Windows user interface?
6084 * Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
6085 * Q6.2.3::      Where do I put my `init.el'/`.emacs' file?
6086 * Q6.2.4::      How do I get Windows Explorer to associate a file type with XEmacs?
6087 * Q6.2.5::      Is it possible to print from XEmacs?
6088
6089 Miscellaneous:
6090 * Q6.3.1::      Does XEmacs rename all the `win32-*' symbols to `w32-*'?
6091 * Q6.3.2::      What are the differences between the various MS Windows emacsen?
6092 * Q6.3.3::      XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
6093 * Q6.3.4::      What is the porting team doing at the moment?
6094
6095 Troubleshooting:
6096 * Q6.4.1::      XEmacs won't start on Windows.
6097 * Q6.4.2::      Why do I get a blank toolbar on Windows 95?
6098 * Q6.4.3::      XEmacs complains "No such file or directory, diff"
6099
6100 \1f
6101 File: xemacs-faq.info,  Node: Q6.0.1,  Next: Q6.0.2,  Prev: MS Windows,  Up: MS Windows
6102
6103 6.0: General Info
6104 =================
6105
6106 Q6.0.1: What is the status of the XEmacs port to Windows?
6107 ---------------------------------------------------------
6108
6109 Is XEmacs really ported to MS Windows?  What is the status of the port?
6110
6111    Beginning with release 21.0, XEmacs has worked under MS Windows.  A
6112 group of dedicated developers actively maintains and improves the
6113 Windows-specific portions of the code.  The mailing list at
6114 <xemacs-nt@xemacs.org> is dedicated to that effort (please use the
6115 -request address to subscribe). (Despite its name, XEmacs actually
6116 works on all versions of Windows.)
6117
6118    As of May 2001, XEmacs on MS Windows is stable and full-featured, and
6119 has been so for a year or more - in fact, some features, such as
6120 printing, actually work better on Windows than native Unix.  However,
6121 the internationalization (Mule) support does not work - although this
6122 is being actively worked on.
6123
6124 \1f
6125 File: xemacs-faq.info,  Node: Q6.0.2,  Next: Q6.0.3,  Prev: Q6.0.1,  Up: MS Windows
6126
6127 Q6.0.2: What flavors of MS Windows are supported?  The list name implies NT only.
6128 ---------------------------------------------------------------------------------
6129
6130 The list name is misleading, as XEmacs supports and has been compiled on
6131 Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows
6132 XP, and all newer versions of Windows.  The MS Windows-specific code is
6133 based on Microsoft Win32 API, and will not work on MS Windows 3.x or on
6134 MS-DOS.
6135
6136    XEmacs also supports the Cygwin and MinGW development and runtime
6137 environments, where it also uses native Windows code for graphical
6138 features.
6139
6140 \1f
6141 File: xemacs-faq.info,  Node: Q6.0.3,  Next: Q6.0.4,  Prev: Q6.0.2,  Up: MS Windows
6142
6143 Q6.0.3: Are binaries available?
6144 -------------------------------
6145
6146 Binaries are available at `http://www.xemacs.org/Download/win32/' for
6147 the native and Cygwin MS Windows versions of 21.4, and the native
6148 version of 21.1.
6149
6150    The 21.4 binaries use a modified version of the Cygwin installer.
6151 Run the provided `setup.exe', and follow the instructions.
6152
6153 \1f
6154 File: xemacs-faq.info,  Node: Q6.0.4,  Next: Q6.0.5,  Prev: Q6.0.3,  Up: MS Windows
6155
6156 Q6.0.4: Can I build XEmacs on MS Windows with X support?  Do I need to?
6157 -----------------------------------------------------------------------
6158
6159 Yes, you can, but no you do not need to.  In fact, we recommend that you
6160 use a native-GUI version unless you have a specific need for an X
6161 version.
6162
6163 \1f
6164 File: xemacs-faq.info,  Node: Q6.0.5,  Next: Q6.0.6,  Prev: Q6.0.4,  Up: MS Windows
6165
6166 Q6.0.5: I'd like to help out.  What do I do?
6167 --------------------------------------------
6168
6169 It depends on the knowledge and time you possess.  If you are a
6170 programmer, try to build XEmacs and see if you can improve it.
6171 Windows-specific improvements like integration with established Windows
6172 environments are especially sought after.
6173
6174    Otherwise, you can still help by downloading the binaries, using
6175 XEmacs as your everyday editor and reporting bugs you find to the
6176 mailing list.
6177
6178    Another area where we need help is the documentation: We need good
6179 documentation for building XEmacs and for using it.  This FAQ is a
6180 small step in that direction.
6181
6182 \1f
6183 File: xemacs-faq.info,  Node: Q6.0.6,  Next: Q6.0.7,  Prev: Q6.0.5,  Up: MS Windows
6184
6185 Q6.0.6: What are Cygwin and MinGW, and do I need them to run XEmacs?
6186 --------------------------------------------------------------------
6187
6188 To answer the second part of the question: No, you, you don't need
6189 Cygwin or MinGW to build or to run XEmacs.  But if you have them and
6190 want to use them, XEmacs supports these environments.
6191
6192    (One important reason to support Cygwin is that it lets the MS
6193 Windows developers test out their code in a Unix environment without
6194 actually having to have a Unix machine around.  For this reason alone,
6195 Cygwin support is likely to remain supported for a long time in XEmacs.
6196 Same goes for the X support under Cygwin, for the same reasons.  MinGW
6197 support, on the other hand, depends on volunteers to keep it up to date;
6198 but this is generally not hard.)
6199
6200    Cygwin is a set of tools providing Unix-like API on top of Win32.
6201 It makes it easy to port large Unix programs without significant
6202 changes to their source code.  It is a development environment as well
6203 as a runtime environment.
6204
6205    When built with Cygwin, XEmacs supports all display types - TTY, X &
6206 Win32 GUI, and can be built with support for all three simultaneously.
6207 If you build with Win32 GUI support then the Cygwin version uses the
6208 majority of the Windows-specific code, which is mostly related to
6209 display.  If you want to build with X support you need X libraries (and
6210 an X server to display XEmacs on); see *Note Q6.1.4::.  TTY and Win32
6211 GUI require no additional libraries beyond what comes standard with
6212 Cygwin.
6213
6214    The advantages of the Cygwin version are that it integrates well with
6215 the Cygwin environment for existing Cygwin users; uses configure so
6216 building with different features is very easy; and actively supports X &
6217 TTY.  Furthermore, the entire Cygwin environment and compiler are free,
6218 whereas Visual C++ costs money.
6219
6220    The disadvantage is that it requires the whole Cygwin environment,
6221 whereas the native port requires only a suitable MS Windows compiler.
6222 Also, it follows the Unix filesystem and process model very closely
6223 (some will undoubtedly view this as an advantage).
6224
6225    See `http://sources.redhat.com/cygwin/' for more information on
6226 Cygwin.
6227
6228    MinGW is a collection of header files and import libraries that allow
6229 one to use GCC under the Cygwin environment to compile and produce
6230 exactly the same native Win32 programs that you can using Visual C++.
6231 Programs compiled with MinGW make use of the standard Microsoft runtime
6232 library `MSVCRT.DLL', present on all Windows systems, and look, feel,
6233 and act like a standard Visual-C-produced application. (The only
6234 difference is the compiler.) This means that, unlike a
6235 standardly-compiled Cygwin application, no extra runtime support (e.g.
6236 Cygwin's `cygwin1.dll') is required.  This, along with the fact that
6237 GCC is free (and works in a nice Unix-y way in a nice Unix-y
6238 environment, for those die-hard Unix hackers out there), is the main
6239 advantage of MinGW.  It is also potentially faster than Cygwin because
6240 it has less overhead when calling Windows, but you lose the POSIX
6241 emulation layer, which makes Unix programs harder to port. (But this is
6242 irrelevant for XEmacs since it's already ported to Win32.)
6243
6244    See `http://www.mingw.org/' for more information on MinGW.
6245
6246 \1f
6247 File: xemacs-faq.info,  Node: Q6.0.7,  Next: Q6.1.1,  Prev: Q6.0.6,  Up: MS Windows
6248
6249 Q6.0.7: What exactly are all the different ways to build XEmacs under Windows?
6250 ------------------------------------------------------------------------------
6251
6252 XEmacs can be built in several ways in the MS Windows environment.
6253
6254    The standard way is what we call the "native" port.  It uses the
6255 Win32 API and has no connection with X whatsoever - it does not require
6256 X libraries to build, nor does it require an X server to run.  The
6257 native port is the most reliable version and provides the best graphical
6258 support.  Almost all development is geared towards this version, and
6259 there is little reason not to use it.
6260
6261    The second way to build is the Cygwin port.  It takes advantage of
6262 Cygnus emulation library under Win32.  *Note Q6.0.6::, for more
6263 information.
6264
6265    A third way is the MinGW port.  It uses the Cygwin environment to
6266 build but does not require it at runtime.  *Note Q6.0.6::, for more
6267 information.
6268
6269    Finally, you might also be able to build the non-Cygwin, non-MinGW
6270 "X" port.  This was actually the first version of XEmacs that ran under
6271 MS Windows, and although the code is still in XEmacs, it's essentially
6272 orphaned and it's unlikely it will compile without a lot of work.  If
6273 you want an MS Windows versin of XEmacs that supports X, use the Cygwin
6274 version. (The X support there is actively maintained, so that Windows
6275 developers can test the X support in XEmacs.)
6276
6277 \1f
6278 File: xemacs-faq.info,  Node: Q6.1.1,  Next: Q6.1.2,  Prev: Q6.0.7,  Up: MS Windows
6279
6280 6.1: Building XEmacs on MS Windows
6281 ==================================
6282
6283 Q6.1.1: What compiler/libraries do I need to compile XEmacs?
6284 ------------------------------------------------------------
6285
6286 You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have
6287 some beta testers currently trying to compile with VC.NET, aka version
6288 7.0, but we can't yet report complete success.) For the Cygwin and MinGW
6289 versions, you need the Cygwin environment, which comes with GCC, the
6290 compiler used for those versions.  *Note Q6.0.6::, for more information
6291 on Cygwin and MinGW.
6292
6293 \1f
6294 File: xemacs-faq.info,  Node: Q6.1.2,  Next: Q6.1.3,  Prev: Q6.1.1,  Up: MS Windows
6295
6296 Q6.1.2: How do I compile the native port?
6297 -----------------------------------------
6298
6299 Please read the file `nt/README' in the XEmacs distribution, which
6300 contains the full description.
6301
6302 \1f
6303 File: xemacs-faq.info,  Node: Q6.1.3,  Next: Q6.1.4,  Prev: Q6.1.2,  Up: MS Windows
6304
6305 Q6.1.3: What do I need for Cygwin?
6306 ----------------------------------
6307
6308 You can find the Cygwin tools and compiler at:
6309
6310    `http://sources.redhat.com/cygwin/'
6311
6312    Click on the `Install now!' link, which will download a file
6313 `setup.exe', which you can use to download everything else. (You will
6314 need to pick a mirror site; `mirrors.rcn.net' is probably the best.)
6315 You should go ahead and install everything - you'll get various
6316 ancillary libraries that XEmacs needs or likes, e.g. XPM, PNG, JPEG,
6317 TIFF, etc.
6318
6319    If you want to compile under X, you will also need the X libraries;
6320 see *Note Q6.1.6::.
6321
6322    If you want to compile without X, you will need the `xpm-nox'
6323 library, which must be specifically selected in the Cygwin netinstaller;
6324 it is not selected by default.  The package has had various names.
6325 Currently it is called `cygXpm-noX4.dll'.
6326
6327 \1f
6328 File: xemacs-faq.info,  Node: Q6.1.4,  Next: Q6.1.5,  Prev: Q6.1.3,  Up: MS Windows
6329
6330 Q6.1.4: How do I compile under Cygwin?
6331 --------------------------------------
6332
6333 Similar as on Unix; use the usual `configure' and `make' process.  Some
6334 problems to watch out for:
6335
6336    * make sure HOME is set. This controls where you `init.el'/`.emacs'
6337      file comes from;
6338
6339    * CYGWIN needs to be set to tty for process support to work, e.g.
6340      CYGWIN=tty;
6341
6342    * picking up some other grep or other UNIX-like tools can kill
6343      configure;
6344
6345    * static heap too small, adjust `src/sheap-adjust.h' to a more
6346      positive number;
6347
6348    * (Unconfirmed) The Cygwin version doesn't understand
6349      `//machine/path' type paths so you will need to manually mount a
6350      directory of this form under a unix style directory for a build to
6351      work on the directory;
6352
6353    * If you're building *WITHOUT* X11, don't forget to change symlinks
6354      `/usr/lib/libXpm.a' and `/usr/lib/libXpm.dll.a' to point to the
6355      non-X versions of these libraries.  By default they point to the X
6356      versions.  So:
6357
6358           /usr/lib/libXpm.a     -> /usr/lib/libXpm-noX.a
6359           /usr/lib/libXpm.dll.a -> /usr/lib/libXpm-noX.dll.a
6360
6361      (This advice may now be obsolete because of the availability of the
6362      cygXpm-noX4.dll package from Cygwin.  Send confirmation to
6363      <faq@xemacs.org>.)
6364
6365    * Other problems are listed in the `PROBLEMS' file, in the top-level
6366      directory of the XEmacs sources.
6367
6368
6369 \1f
6370 File: xemacs-faq.info,  Node: Q6.1.5,  Next: Q6.1.6,  Prev: Q6.1.4,  Up: MS Windows
6371
6372 Q6.1.5: How do I compile using MinGW (aka `the -mno-cygwin flag to gcc')?
6373 -------------------------------------------------------------------------
6374
6375 Similar to the method for Unix.  Things to remember:
6376
6377    * Specify the target host on the command line for `./configure', e.g.
6378      `./configure i586-pc-mingw32'.
6379
6380    * Be sure that your build directory is mounted such that it has the
6381      same path either as a cygwin path (`/build/xemacs') or as a Windows
6382      path (`c:\build\xemacs').
6383
6384    * Build `gcc -mno-cygwin' versions of the extra libs, i.e. `libpng',
6385      `compface', etc.
6386
6387    * Specify the target location of the extra libs on the command line
6388      to `configure', e.g.  `./configure --site-prefixes=/build/libs
6389      i586-pc-mingw32'.
6390
6391 \1f
6392 File: xemacs-faq.info,  Node: Q6.1.6,  Next: Q6.1.7,  Prev: Q6.1.5,  Up: MS Windows
6393
6394 Q6.1.6: I decided to run with X.  Where do I get an X server?
6395 -------------------------------------------------------------
6396
6397 As of May 2001, we are recommending that you use the port of XFree86 to
6398 Cygwin.  This has recently stabilized, and will undoubtedly soon make
6399 most other MS Windows X servers obsolete.  It is what the Windows
6400 developers use to test the MS Windows X support.
6401
6402    To install, go to `http://xfree86.cygwin.com/'.  There is a detailed
6403 description on that site of exactly how to install it.  This
6404 installation also provides the libraries, include files, and other stuff
6405 needed for development; a large collection of internationalized fonts;
6406 the standard X utilities (xterm, twm, etc.) - in a word, the works.
6407
6408    NOTE: As of late May 2001, there is a bug in the file
6409 `startxwin.bat', used to start X Windows.  It passes the option
6410 `-engine -4' to the X server, which is bogus - you need to edit the
6411 file and change it to `-engine 4'.
6412
6413 \1f
6414 File: xemacs-faq.info,  Node: Q6.1.7,  Next: Q6.2.1,  Prev: Q6.1.6,  Up: MS Windows
6415
6416 Q6.1.7: How do I compile with X support?
6417 ----------------------------------------
6418
6419 To compile under Cygwin, all you need to do is install XFree86 (*note
6420 Q6.1.6::).  Once installed, `configure' should automatically find the X
6421 libraries and compile with X support.
6422
6423    As noted above, the non-Cygwin X support is basically orphaned, and
6424 probably won't work.  But if it want to try, it's described in
6425 `nt/README' in some detail.  Basically, you need to get X11 libraries
6426 from ftp.x.org, and compile them.  If the precompiled versions are
6427 available somewhere, we don't know of it.
6428
6429 \1f
6430 File: xemacs-faq.info,  Node: Q6.2.1,  Next: Q6.2.2,  Prev: Q6.1.7,  Up: MS Windows
6431
6432 6.2: Customization and User Interface
6433 =====================================
6434
6435 Q6.2.1: How does the port cope with differences in the Windows user interface?
6436 ------------------------------------------------------------------------------
6437
6438 The XEmacs (and Emacs in general) user interface is pretty different
6439 from what is expected of a typical MS Windows program.  How does the MS
6440 Windows port cope with it?
6441
6442    As a general rule, we follow native MS Windows conventions as much as
6443 possible.  21.4 is a fairly complete Windows application, supporting
6444 native printing, system file dialog boxes, tool tips, etc.  In cases
6445 where there's a clear UI conflict, we currently use normal Unix XEmacs
6446 behavior by default, but make sure the MS Windows "look and feel" (mark
6447 via shift-arrow, self-inserting deletes region, Alt selects menu items,
6448 etc.) is easily configurable (respectively: using the variable
6449 `shifted-motion-keys-select-region' in 21.4 and above [it's in fact the
6450 default in these versions], or the `pc-select' package; using the
6451 `pending-del' package; and setting the variable
6452 `menu-accelerator-enabled' to `menu-force' in 21.4 and above).  In
6453 fact, if you use the sample `init.el' file as your init file, you will
6454 get all these behaviors automatically turned on.
6455
6456    In future versions, some of these features might be turned on by
6457 default in the MS Windows environment.
6458
6459 \1f
6460 File: xemacs-faq.info,  Node: Q6.2.2,  Next: Q6.2.3,  Prev: Q6.2.1,  Up: MS Windows
6461
6462 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
6463 ------------------------------------------------------
6464
6465 In 21.4 and above, you can use the "Options" menu to change the font.
6466 You can also do it in your init file, e.g. like this:
6467
6468          (set-face-font 'default "Lucida Console:Regular:10")
6469          (set-face-font 'modeline "MS Sans Serif:Regular:10")
6470
6471 \1f
6472 File: xemacs-faq.info,  Node: Q6.2.3,  Next: Q6.2.4,  Prev: Q6.2.2,  Up: MS Windows
6473
6474 Q6.2.3: Where do I put my `init.el'/`.emacs' file?
6475 --------------------------------------------------
6476
6477 `init.el' is the name of the init file starting with 21.4, and is
6478 located in the subdirectory `.xemacs/' of your home directory.  In
6479 prior versions, the init file is called `.emacs' and is located in your
6480 home directory.  Your home directory under Windows is determined by the
6481 `HOME' environment variable.  If this is not set, it defaults to `C:\'.
6482
6483    To set this variable, modify `AUTOEXEC.BAT' under Windows 95/98, or
6484 select `Control Panel->System->Advanced->Environment Variables...'
6485 under Windows NT/2000.
6486
6487 \1f
6488 File: xemacs-faq.info,  Node: Q6.2.4,  Next: Q6.2.5,  Prev: Q6.2.3,  Up: MS Windows
6489
6490 Q6.2.4: How do I get Windows Explorer to associate a file type with XEmacs?
6491 ---------------------------------------------------------------------------
6492
6493 Associating a new file type with XEmacs.
6494 ........................................
6495
6496 In Explorer select `View/Options/File Types', press `[New Type...]' and
6497 fill in the dialog box, e.g.:
6498
6499              Description of type:    Emacs Lisp source
6500              Associated extension:   el
6501              Content Type (MIME):    text/plain
6502
6503    then press `[New...]' and fill in the `Action' dialog box as follows:
6504
6505              Action:
6506              Open
6507      
6508              Application used to perform action:
6509              D:\Full\path\for\xemacs.exe "%1"
6510      
6511              [x] Use DDE
6512      
6513              DDE Message:
6514              open("%1")
6515      
6516              Application:
6517              <leave blank>
6518      
6519              DDE Application Not Running:
6520              <leave blank>
6521      
6522              Topic:
6523              <leave blank>
6524
6525 Associating an existing file type with XEmacs.
6526 ..............................................
6527
6528 In Explorer select `View/Options/File Types'.  Click on the file type
6529 in the list and press `[Edit...]'.  If the file type already has an
6530 `Open' action, double click on it and fill in the `Action' dialog box
6531 as described above; otherwise create a new action.
6532
6533    If the file type has more than one action listed, you probably want
6534 to make the `Open' action that you just edited the default by clicking
6535 on it and pressing `Set Default'.
6536
6537    Note for Windows 2000 users: Under Windows 2000, get to `File Types'
6538 using `Control Panel->Folder Options->File Types'.
6539
6540 \1f
6541 File: xemacs-faq.info,  Node: Q6.2.5,  Next: Q6.3.1,  Prev: Q6.2.4,  Up: MS Windows
6542
6543 Q6.2.5: Is it possible to print from XEmacs?
6544 --------------------------------------------
6545
6546 As of 21.4, printing works on Windows, using simply `File->Print', and
6547 can be configured with `File->Page Setup'.
6548
6549    Prior to 21.4, there is no built-in support, but there are some
6550 clever hacks out there.  If you know how, please let us know and we'll
6551 put it here.
6552
6553 \1f
6554 File: xemacs-faq.info,  Node: Q6.3.1,  Next: Q6.3.2,  Prev: Q6.2.5,  Up: MS Windows
6555
6556 6.3: Miscellaneous
6557 ==================
6558
6559 Q6.3.1: Does XEmacs rename all the `win32-*' symbols to `w32-*'?
6560 ----------------------------------------------------------------
6561
6562 In his flavor of Emacs 20, Richard Stallman has renamed all the
6563 `win32-*' symbols to `w32-*'.  Does XEmacs do the same?
6564
6565    We consider such a move counter-productive, thus we do not use the
6566 `w32' prefix. (His rather questionable justification was that he did
6567 not consider Windows to be a "winning" platform.) However, the name
6568 `Win32' is not particularly descriptive outside the Windows world, and
6569 using just `windows-' would be too generic.  So we chose a compromise,
6570 the prefix `mswindows-' for Windows-related variables and functions.
6571
6572    Thus all the XEmacs variables and functions directly related to
6573 either the Windows GUI or OS are prefixed `mswindows-' (except for a
6574 couple of debugging variables, prefixed `debug-mswindows-').  From an
6575 architectural perspective, however, we believe that this is mostly a
6576 non-issue because there should be a very small number of
6577 window-systems-specific variables anyway.  Whenever possible, we try to
6578 provide generic interfaces that apply to all window systems.
6579
6580 \1f
6581 File: xemacs-faq.info,  Node: Q6.3.2,  Next: Q6.3.3,  Prev: Q6.3.1,  Up: MS Windows
6582
6583 Q6.3.2: What are the differences between the various MS Windows emacsen?
6584 ------------------------------------------------------------------------
6585
6586 XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
6587 Could you briefly explain the differences between them?
6588
6589    Here is a recount of various Emacs versions running on MS Windows:
6590
6591    * XEmacs
6592
6593         - Beginning with XEmacs 19.12, XEmacs' architecture was
6594           redesigned in such a way to allow clean support of multiple
6595           window systems.  At this time the TTY support was added,
6596           making X and TTY the first two "window systems" supported by
6597           XEmacs.  The 19.12 design is the basis for the current native
6598           MS Windows code.
6599
6600         - Some time during 1997, David Hobley (soon joined by Marc
6601           Paquette) imported some of the NT-specific portions of GNU
6602           Emacs, making XEmacs with X support compile under Windows NT,
6603           and creating the "X" port.
6604
6605         - Several months later, Jonathan Harris sent out initial
6606           patches to use the Win32 API, thus creating the native port.
6607           Since then, various people have contributed, including Kirill
6608           M. Katsnelson (contributed support for menubars, subprocesses
6609           and network, as well as loads of other code), Andy Piper
6610           (ported XEmacs to Cygwin environment, contributed Windows
6611           unexec, Windows-specific glyphs and toolbars code, and more),
6612           Ben Wing (loads of improvements; primary MS Windows developer
6613           since 2000), Jeff Sparkes (contributed scrollbars support)
6614           and many others.
6615
6616    * NT Emacs
6617
6618         - NT Emacs is a version of GNU Emacs modified to compile and
6619           run under MS Windows 95 and NT using the native Win32 API.
6620           As such, it is close in spirit to the XEmacs "native" port.
6621
6622         - NT Emacs has been written by Geoff Voelker, and more
6623           information can be found at
6624           `http://www.gnu.org/software/emacs/windows/ntemacs.html'.
6625
6626    * Win-Emacs
6627
6628         - Win-Emacs was a port of Lucid Emacs 19.6 to MS Windows using X
6629           compatibility libraries.  Win-Emacs was written by Ben Wing.
6630           The MS Windows code never made it back to Lucid Emacs, and
6631           its creator (Pearl Software) has long since gone out of
6632           business.
6633
6634    * GNU Emacs for DOS
6635
6636         - GNU Emacs features support for MS-DOS and DJGPP (D.J.
6637           Delorie's DOS port of GCC).  Such an Emacs is heavily
6638           underfeatured, because it does not support long file names,
6639           lacks proper subprocesses support, and is far too big
6640           compared with typical DOS editors.
6641
6642    * GNU Emacs compiled with Win32
6643
6644         - Starting with version 19.30, it has been possible to compile
6645           GNU Emacs under MS Windows using the DJGPP compiler and X
6646           libraries.  The result is very similar to GNU Emacs compiled
6647           under MS DOS, only it works somewhat better because it runs
6648           in 32-bit mode, makes use of all the system memory, supports
6649           long file names, etc.
6650
6651
6652 \1f
6653 File: xemacs-faq.info,  Node: Q6.3.3,  Next: Q6.3.4,  Prev: Q6.3.2,  Up: MS Windows
6654
6655 Q6.3.3: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup.  Has that been fixed?
6656 -----------------------------------------------------------------------------------------------------------
6657
6658 Yes.
6659
6660    The console was there because `temacs' (and in turn, `xemacs') was a
6661 console application, and Windows typically creates a new console for a
6662 console process unless the creating process requests that one isn't
6663 created.  This used to be fixed with `runemacs', a small Windows
6664 application that existed merely to start `xemacs', stating that it
6665 didn't want a console.
6666
6667    XEmacs 21.4 fixes this cleanly by the virtue of being a true "GUI"
6668 application.  The explanation of what that means is included for
6669 educational value.
6670
6671    When building an application to be run in a Win32 environment, you
6672 must state which sub-system it is to run in.  Valid subsystems include
6673 "console" and "gui".  The subsystem you use affects the run time
6674 libraries linked into your application, the start up function that is
6675 run before control is handed over to your application, the entry point
6676 to your program, and how Windows normally invokes your program. (Console
6677 programs automatically get a console created for them at startup if
6678 their stdin/stdout don't point anywhere useful, which is the case when
6679 run from the GUI.  This is a stupid design, of course - instead, the
6680 console should get created only when the first I/O actually occurs!
6681 GUI programs have an equally stupid design: When called from
6682 `CMD.EXE'/`COMMAND.COM', their stdin/stdout will be set to point
6683 nowhere useful, even though the command shell has its own stdin/stdout.
6684 It's as if someone who had learned a bit about stdio but had no actual
6685 knowledge of interprocess communication designed the scheme;
6686 unfortunately, the whole process-communication aspect of the Win32 API
6687 is equally badly designed.) For example, the entry point for a console
6688 app is "main" (which is what you'd expect for a C/C++ program), but the
6689 entry point for a "gui" app is "WinMain".  This confuses and annoys a
6690 lot of programmers who've grown up on Unix systems, where the kernel
6691 doesn't really care whether your application is a gui program or not.
6692
6693    For reasons not altogether clear, and are lost in the mists of time
6694 and tradition, XEmacs on Win32 started out as a console application, and
6695 therefore a console was automatically created for it. (It may have been
6696 made a console application partly because a console is needed in some
6697 circumstances, especially under Win95, to interrupt, terminate, or send
6698 signals to a child process, and because of the bogosity mentioned above
6699 with GUI programs and the standard command shell.  Currently, XEmacs
6700 just creates and immediately hides a console when necessary, and works
6701 around the "no useful stdio" problem by creating its own console window
6702 as necessary to display messages in.)
6703
6704 \1f
6705 File: xemacs-faq.info,  Node: Q6.3.4,  Next: Q6.4.1,  Prev: Q6.3.3,  Up: MS Windows
6706
6707 Q6.3.4: What is the porting team doing at the moment?
6708 -----------------------------------------------------
6709
6710 (as of June 2001)
6711
6712    The porting team is continuing work on the MS Windows-specific code.
6713 Major projects are the development of Mule (internationalization)
6714 support for Windows and the improvement of the widget support (better
6715 support for dialog boxes, buttons, edit fields, and similar UI
6716 elements).
6717
6718 \1f
6719 File: xemacs-faq.info,  Node: Q6.4.1,  Next: Q6.4.2,  Prev: Q6.3.4,  Up: MS Windows
6720
6721 6.3: Troubleshooting
6722 ====================
6723
6724 Q6.4.1 XEmacs won't start on Windows.
6725 -------------------------------------
6726
6727 XEmacs relies on a process called "dumping" to generate a working
6728 executable. Under MS-Windows this process effectively fixes the memory
6729 addresses of information in the executable. When XEmacs starts up it
6730 tries to reserve these memory addresses so that the dumping process can
6731 be reversed - putting the information back at the correct addresses.
6732 Unfortunately some .DLLs (for instance the soundblaster driver) occupy
6733 memory addresses that can conflict with those needed by the dumped
6734 XEmacs executable. In this instance XEmacs will fail to start without
6735 any explanation. Note that this is extremely machine specific.
6736
6737    21.1.10 includes a fix for this that makes more intelligent guesses
6738 about which memory addresses will be free, and this should cure the
6739 problem for most people.  21.4 implements "portable dumping", which
6740 eliminates the problem altogether.  We recommend you use the 21.4
6741 binaries, but you can use the 21.1 binaries if you are very paranoid
6742 about stability.  *Note Q6.0.3::.
6743
6744 \1f
6745 File: xemacs-faq.info,  Node: Q6.4.2,  Next: Q6.4.3,  Prev: Q6.4.1,  Up: MS Windows
6746
6747 Q6.4.2 Why do I get a blank toolbar on Windows 95?
6748 --------------------------------------------------
6749
6750 You need at least version 4.71 of the system file `comctl32.dll'.  The
6751 updated version is supplied with Internet Explorer 4 and later but if
6752 you are avoiding IE you can also download it from the Microsoft web
6753 site.  Go into support and search for `comctl32.dll'.  The download is
6754 a self-installing executable.
6755
6756 \1f
6757 File: xemacs-faq.info,  Node: Q6.4.3,  Prev: Q6.4.2,  Up: MS Windows
6758
6759 Q6.4.3 XEmacs complains "No such file or directory, diff"
6760 ---------------------------------------------------------
6761
6762 or "ispell" or other commands that seem related to whatever you just
6763 tried to do (M-x ediff or M-$, for example).
6764
6765    There are a large number of common (in the sense that "everyone has
6766 these, they really do") Unix utilities that are not provided with
6767 XEmacs.  The GNU Project's implementations are available for Windows in
6768 the the Cygwin distribution (`http://www.cygwin.com/'), which also
6769 provides a complete Unix emulation environment (and thus makes ports of
6770 Unix utilities nearly trivial).  Another implementation is that from
6771 MinGW (`http://www.mingw.org/msys.shtml').  If you know of others,
6772 please let us know!
6773
6774 \1f
6775 File: xemacs-faq.info,  Node: Current Events,  Next: Legacy Versions,  Prev: MS Windows,  Up: Top
6776
6777 7 What the Future Holds
6778 ***********************
6779
6780 This is part 7 of the XEmacs Frequently Asked Questions list.  This
6781 section will change frequently, and (in theory) should contain any
6782 interesting items that have transpired recently. (But in practice it's
6783 not getting updated like this.)
6784
6785    This section also contains descriptions of the new features in all
6786 the recent releases of XEmacs.  For the most part, the information
6787 below is a synopsis of the more complete information that can be found
6788 in the file `NEWS' in the `etc' directory of the XEmacs distribution.
6789 You can view this file in XEmacs using `C-h n' or the `Help' menu.
6790
6791    Information on older versions of XEmacs can be find in `ONEWS' in
6792 the same directory, or `OONEWS' for really old versions.
6793
6794 * Menu:
6795
6796 * Q7.0.1::      What new features will be in XEmacs soon?
6797 * Q7.0.2::      What's new in XEmacs 21.4?
6798 * Q7.0.3::      What's new in XEmacs 21.1?
6799 * Q7.0.4::      What's new in XEmacs 20.4?
6800 * Q7.0.5::      What's new in XEmacs 20.3?
6801 * Q7.0.6::      What's new in XEmacs 20.2?
6802
6803 \1f
6804 File: xemacs-faq.info,  Node: Q7.0.1,  Next: Q7.0.2,  Prev: Current Events,  Up: Current Events
6805
6806 7.0: Changes
6807 ============
6808
6809 Q7.0.1: What new features will be in XEmacs soon?
6810 -------------------------------------------------
6811
6812 Not yet written.
6813
6814 \1f
6815 File: xemacs-faq.info,  Node: Q7.0.2,  Next: Q7.0.3,  Prev: Q7.0.1,  Up: Current Events
6816
6817 Q7.0.2: What's new in XEmacs 21.4?
6818 ----------------------------------
6819
6820 21.4 was the "stable" version of the 21.2 series, which was considered
6821 "experimental" throughout its life; thus there were no "official"
6822 releases at all.  In essence, XEmacs is now following the "alternating"
6823 scheme of Linux, where at any point there are at least two different
6824 development branches, one "stable" and one "experimental".  Periodic
6825 releases happen in both branches, but those in the experimental branch
6826 are not tested as well, and there's no guarantee they will work at all.
6827 The experiemental branch is open to any and all code that's acceptable
6828 to the developers; the stable branch, however, is in general limited
6829 only to bug fixes, and all contributions are carefully reviewed to make
6830 sure they will increase and not decrease stability.
6831
6832    21.3 never existed at all; it was decided to follow the Linux scheme
6833 exactly, where odd-numbered series are experimental and even-numbered
6834 ones stable.
6835
6836    The following lists summarizes the essential changes made in this
6837 version.  For a fuller list, see the `NEWS' in the `etc' directory of
6838 the XEmacs distribution, or use `C-h n' or the `Help' menu to view this
6839 file inside of XEmacs.
6840
6841 User-visible changes in XEmacs 21.4
6842 ...................................
6843
6844    * The delete key now deletes forward by default.
6845
6846    * Shifted motion keys now select text by default.
6847
6848    * You can now build XEmacs with support for GTK+ widget set.
6849
6850    * ~/.xemacs/init.el is now the preferred location for the init file.
6851      (XEmacs now supports a `~/.xemacs/init.el' startup file. Custom
6852      file will move to ~/.xemacs/custom.el.)
6853
6854    * Much-improved sample init.el, showing how to use many useful
6855      features.
6856
6857    * XEmacs support for menu accelerators has been much improved.
6858
6859    * Default menubar improvements. (Default menubar has many new
6860      commands and better organization.  The font-menu is now available
6861      under MS Windows.)
6862
6863    * Dialog box improvements, including a real file dialog box. (XEmacs
6864      now has a proper file dialog box under MS Windows (and GTK)!  The
6865      old clunky file dialog box is improved.  Keyboard traversal now
6866      works correctly in MS Windows dialog boxes.  There is a Search
6867      dialog box available from Edit->Find...)
6868
6869    * New buffer tabs.
6870
6871    * There is a new MS Windows installer, netinstall, ported from
6872      Cygwin.
6873
6874    * The subprocess quote-handling mechanism under Windows is much
6875      improved.
6876
6877    * Printing support now available under MS Windows.
6878
6879    * Selection improvements. (Kill and yank now interact with the
6880      clipboard under Windows.  MS Windows support for selection is now
6881      much more robust.  Motif selection support is now more correct
6882      (but slower).)
6883
6884    * Mail spool locking now works correctly.
6885
6886    * International support changes. (The default coding-priority-list
6887      is now safer.  International keysyms are now supported under X.
6888      MS Windows 1251 code page now supported.  Czech, Thai,
6889      Cyrillic-KOI8, Vietnamese, Ethiopic now supported.  Proper support
6890      for words in Latin 3 and Latin 4.)
6891
6892    * Help buffers contain hyperlinks, and other changes.
6893
6894    * The modeline's text is now scrollable.
6895
6896    * The mouse wheel under MS Windows now functions correctly.
6897
6898    * Interactive searching and matching case improvements. (Incremental
6899      search will now highlight all visible matches.  Interactive
6900      searches always respect uppercase characters.)
6901
6902    * Rectangle functions rewritten to avoid inserting extra spaces.
6903
6904    * New command `kill-entire-line' that always kills the entire line.
6905
6906    * Default values correctly stored in minibuffer histories.
6907
6908    * You can now create "indirect buffers", like in GNU Emacs.
6909
6910    * Pixel-based scrolling has been implemented.
6911
6912    * Operation progress can be displayed using graphical widgets.
6913
6914    * User names following a tilde can now be completed at file name
6915      prompts.
6916
6917    * XEmacs can now play sound using Enlightenment Sound Daemon (ESD).
6918
6919    * X-Face support is now available under MS Windows.
6920
6921    * The PostgreSQL Relational Database Management System is now
6922      supported.
6923
6924    * Indentation no longer indents comments that begin at column zero.
6925
6926    * Face and variable settings can have comments in Customize.
6927
6928    * New locations for early package hierarchies.
6929
6930    * The `auto-save' library has been greatly improved.
6931
6932    * New variable `mswindows-alt-by-itself-activates-menu'.
6933
6934    * Other init-file-related changes. (Init file in your home directory
6935      may be called `.emacs.el'.  New command-line switches
6936      -user-init-file and -user-init-directory.)
6937
6938    * Etags changes.  See `NEWS' for full details.
6939
6940 Lisp and internal changes in XEmacs 21.4
6941 ........................................
6942
6943 Not yet written.
6944
6945 \1f
6946 File: xemacs-faq.info,  Node: Q7.0.3,  Next: Q7.0.4,  Prev: Q7.0.2,  Up: Current Events
6947
6948 Q7.0.3: What's new in XEmacs 21.1?
6949 ----------------------------------
6950
6951 21.1 was the "stable" version of "experimental" 21.0 series.  *Note
6952 Q7.0.2::.
6953
6954    The following lists summarizes the essential changes made in this
6955 version.  For a fuller list, see the `NEWS' in the `etc' directory of
6956 the XEmacs distribution, or use `C-h n' or the `Help' menu to view this
6957 file inside of XEmacs.
6958
6959 User-visible changes in XEmacs 21.1
6960 ...................................
6961
6962    * XEmacs is now supported under Microsoft Windows 95/98 and Windows
6963      NT operating systems.  To discuss Windows-specific issues,
6964      subscribe to the mailing list at <xemacs-nt-request@xemacs.org>.
6965
6966    * XEmacs has been unbundled into constituent installable packages.
6967
6968    * *Other notable changes*: The `Options' menu has been ported to
6969      Custom; XEmacs now is able to choose X visuals and use private
6970      colormaps; You can drag the vertical divider of "horizontally"
6971      (side-by-side) split windows.
6972
6973    * *Building changes*: XEmacs can be built with support for 31-bit
6974      Lisp integers and 32-bit pointers (previously, it was 28-bit
6975      integers and pointers); XEmacs can be built with LDAP support;
6976      `dir' files can be removed in the Info subsystem, and will be
6977      regenerated on-the-fly.
6978
6979    * *New packages*: `imenu', `popper', `gdb-highlight'
6980
6981    * *Package changes*: Many changes to `cc-mode', `gnus', `gnuclient'.
6982      See `NEWS' for full details.
6983
6984    * *New commands, variables and functions*: `center-to-window-line'
6985      (like `recenter' but doesn't force a redisplay); variable
6986      `user-full-name' (customize what your full name looks like in
6987      mail); `M-x customize-changed-options' (customize options whose
6988      default values changes because you upgraded your XEmacs); `M-x
6989      add-log-convert' (converts an old-style ChangeLog buffer to
6990      new-style); `M-x zap-up-to-char' (like `zap-to-char' but doesn't
6991      delete the char searched for); commands to store, retrieve and
6992      increment numbers in registers, useful for macros.
6993
6994    * *Changes to commands, variables, and functions*: `M-x
6995      query-replace' and friends operate only on the region when it's
6996      active; `echo-keystrokes' can now be a floating-point number; `M-.'
6997      searches exact tag matches before inexact ones; function
6998      `user-full-name' with no arguments returns the var
6999      `user-full-name'; a prefix arg to `M-:' and `C-h c' inserts the
7000      result in the current buffer.
7001
7002    * *Other changes*: Under X, new application class `XEmacs';
7003      byte-compilation of user-specs now works.
7004
7005    * *XEmacs/Mule (internationalization) changes*: Mule support now
7006      works on TTY's; Egg/SJ3 input method now officially supported
7007      (Quail and Egg/Skk already available through LEIM since 20.3);
7008      localized Japanese menubars if XEmacs is built with the right
7009      support.
7010
7011
7012 Lisp and internal changes in XEmacs 21.1
7013 ........................................
7014
7015    * *Specifier changes*: The window locale now has a higher precedence
7016      than the buffer locale when instantiating; new macro
7017      `let-specifier'; new specifiers `vertical-scrollbar-visible-p',
7018      horizontal-scrollbar-visible-p', `scrollbar-on-left-p',
7019      `scrollbar-on-top-p', `vertical-divider-always-visible-p',
7020      `vertical-divider-shadow-thickness',
7021      `vertical-divider-line-width', `vertical-divider-spacing';
7022      specifiers and symbols whose value is a specifier allowed as
7023      modeline specifications.
7024
7025    * *Frame focus changes*: `focus-follows-mouse' works like FSF,
7026      prevents any attempt to permanently change the selected frame; new
7027      function `focus-frame' sets the window system focus a frame; new
7028      special forms `save-selected-frame' and `with-selected-frame'.
7029
7030    * *Window function changes*: `select-window' now has optional
7031      argument NORECORD to inhibit recording a buffer change;
7032      `vertical-motion' now correctly handles optional WINDOW argument
7033      and has new optional argument PIXELS, to have the returned values
7034      be in pixels; new function `vertical-motion-pixels'; new functions
7035      `window-text-area-pixel-{width,height,edges}'; new functions
7036      `shrink-window-pixels' and `enlarge-window-pixels'; new function
7037      `window-displayed-text-pixel-height'.
7038
7039    * *Other function changes*: Arithmetic comparison functions `<',
7040      `>', `=', `/=' now accept a variable number of arguments;
7041      hashtables now have a consistent read/print syntax; keyword
7042      symbols cannot be set to a value other than themselves; `concat' no
7043      longer accepts integer arguments; new function `string', like
7044      `list', `vector', etc.; new function `temp-directory'
7045      (OS-independent way to get a temp directory); `load-average' has
7046      optional argument USE-FLOATS; `make-event' implemented completely;
7047      new function `function-interactive' (returns a function's
7048      interactive spec); new functions `lmessage', `lwarn' (printf-like
7049      versions of `display-wessage', `display-warning'); new keyword
7050      `:version' to `defcustom'.
7051
7052    * *Performance*: when the new GNU Malloc aka Doug Lea Malloc is
7053      available, it will be used (better performance on libc6 Linux
7054      systems); tracking line-numbers in modeline is now efficient;
7055      profiling records a call-count of all called functions,
7056      retrievable through `profile-call-count-results'.
7057
7058    * *Startup and path searching*: code to assemble paths at startup
7059      rewritten for new package system; new function `split-path' (splits
7060      by `path-separator'); `Info-default-directory-list' obsolete, use
7061      `Info-directory-list' instead; site-lisp is deprecated and no
7062      longer on the load-path by default.
7063
7064
7065 \1f
7066 File: xemacs-faq.info,  Node: Q7.0.4,  Next: Q7.0.5,  Prev: Q7.0.3,  Up: Current Events
7067
7068 Q7.0.4: What's new in XEmacs 20.4?
7069 ----------------------------------
7070
7071 XEmacs 20.4 is a bugfix release with no user-visible changes.
7072
7073 \1f
7074 File: xemacs-faq.info,  Node: Q7.0.5,  Next: Q7.0.6,  Prev: Q7.0.4,  Up: Current Events
7075
7076 Q7.0.5: What's new in XEmacs 20.3?
7077 ----------------------------------
7078
7079 XEmacs 20.3 was released in November 1997. It contains many bugfixes,
7080 and a number of new features, including Autoconf 2 based configuration,
7081 additional support for Mule (Multi-language extensions to Emacs), many
7082 more customizations, multiple frames on TTY-s, support for multiple info
7083 directories, an enhanced gnuclient, improvements to regexp matching,
7084 increased MIME support, and many, many synches with GNU Emacs 20.
7085
7086    The XEmacs/Mule support has been only seriously tested in a Japanese
7087 locale, and no doubt many problems still remain.  The support for
7088 ISO-Latin-1 and Japanese is fairly strong.  MULE support comes at a
7089 price--about a 30% slowdown from 19.16.  We're making progress on
7090 improving performance and XEmacs 20.3 compiled without Mule (which is
7091 the default) is definitely faster than XEmacs 19.16.
7092
7093    XEmacs 20.3 is the first non-beta v20 release, and will be the basis
7094 for all further development.
7095
7096 \1f
7097 File: xemacs-faq.info,  Node: Q7.0.6,  Prev: Q7.0.5,  Up: Current Events
7098
7099 Q7.0.6: What's new in XEmacs 20.2?
7100 ----------------------------------
7101
7102 The biggest changes in 20.2 include integration of EFS (the next
7103 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
7104 major mode for editing Tex and LaTeX, and a lot of other stuff).  Many
7105 bugs from 20.0 have been fixed for this release.  20.2 also contains a
7106 new system for customizing XEmacs options, invoked via `M-x customize'.
7107
7108    XEmacs 20.2 is the development release (20.0 was beta), and is no
7109 longer considered unstable.
7110
7111    For older news, see the file `ONEWS' in the `etc' directory of the
7112 XEmacs distribution.
7113
7114 \1f
7115 File: xemacs-faq.info,  Node: Legacy Versions,  Prev: Current Events,  Up: Top
7116
7117 8 New information about old XEmacsen
7118 ************************************
7119
7120 This is part 8 of the XEmacs Frequently Asked Questions list.  It will
7121 occasionally be updated to reflect new information about versions which
7122 are no longer being revised by the XEmacs Project.  The primary purpose
7123 is advice on compatibility of older XEmacsen with new packages and
7124 updated versions of packages, but bug fixes (which will not be applied
7125 to released XEmacsen, but users can apply themselves) are also accepted.
7126
7127 * Menu:
7128
7129 * Q8.0.1::      Gnus 5.10 won't display smileys in XEmacs 21.1.
7130
7131 \1f
7132 File: xemacs-faq.info,  Node: Q8.0.1,  Up: Legacy Versions
7133
7134 Q8.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
7135 -------------------------------------------------------
7136
7137 Eric Eide <eeide@cs.utah.edu> wrote:
7138
7139      Previously I wrote:
7140
7141      Eric> Summary: with Gnus 5.10.1 in XEmacs 21.1.14, I don't see
7142      Eric> any smileys :-(.
7143
7144      After a bit of sleuthing, I discovered the essence of the problem.
7145      For me, the form:
7146
7147                 (with-temp-buffer
7148                   (insert-file-contents "foo.xpm")
7149                   (buffer-string))
7150
7151      returns the empty string.  This is because something somewhere
7152      replaces the XPM data with a glyph -- I haven't figured out where
7153      this occurs.
7154
7155    Kyle Jones <kyle_jones@wonderworks.com> replies:
7156
7157      Do this:
7158
7159               (setq format-alist nil)
7160
7161      The image-mode stuff is gone from format-alist in the 21.4 branch,
7162      praise be.
7163
7164
7165 \1f
7166 Tag Table:
7167 Node: Top\7f205
7168 Node: Introduction\7f18020
7169 Node: Q1.0.1\7f21577
7170 Node: Q1.0.2\7f22578
7171 Node: Q1.0.3\7f23120
7172 Node: Q1.0.4\7f23379
7173 Node: Q1.0.5\7f24768
7174 Node: Q1.0.6\7f25454
7175 Node: Q1.0.7\7f26556
7176 Node: Q1.0.8\7f26801
7177 Node: Q1.0.9\7f27013
7178 Node: Q1.0.10\7f27295
7179 Node: Q1.0.11\7f27624
7180 Node: Q1.0.12\7f28345
7181 Node: Q1.0.13\7f28710
7182 Node: Q1.0.14\7f28956
7183 Node: Q1.1.1\7f29464
7184 Node: Q1.1.2\7f30503
7185 Node: Q1.1.3\7f30893
7186 Node: Q1.2.1\7f31841
7187 Node: Q1.2.2\7f32988
7188 Node: Q1.2.3\7f33419
7189 Node: Q1.3.1\7f34500
7190 Node: Q1.3.2\7f35308
7191 Node: Q1.3.3\7f35910
7192 Node: Q1.3.4\7f36488
7193 Node: Q1.3.5\7f37281
7194 Node: Q1.3.6\7f41962
7195 Node: Q1.3.7\7f44512
7196 Node: Q1.3.8\7f45433
7197 Node: Q1.3.9\7f46426
7198 Node: Q1.4.1\7f47561
7199 Node: Q1.4.2\7f49309
7200 Node: Q1.4.3\7f49677
7201 Node: Q1.4.4\7f50093
7202 Node: Q1.4.5\7f51630
7203 Node: Q1.4.6\7f51931
7204 Node: Installation\7f52921
7205 Node: Q2.0.1\7f55609
7206 Node: Q2.0.2\7f56406
7207 Node: Q2.0.3\7f57925
7208 Node: Q2.0.4\7f59220
7209 Node: Q2.0.5\7f59809
7210 Node: Q2.0.6\7f60154
7211 Node: Q2.0.7\7f60762
7212 Node: Q2.0.8\7f61140
7213 Node: Q2.0.9\7f62714
7214 Node: Q2.0.10\7f64325
7215 Node: Q2.0.11\7f65166
7216 Node: Q2.0.12\7f66104
7217 Node: Q2.0.13\7f67625
7218 Node: Q2.0.14\7f68099
7219 Node: Q2.0.15\7f69143
7220 Node: Q2.0.16\7f69816
7221 Node: Q2.1.1\7f70643
7222 Node: Q2.1.2\7f74829
7223 Node: Q2.1.3\7f76056
7224 Node: Q2.1.4\7f77350
7225 Node: Q2.1.5\7f78146
7226 Node: Q2.1.6\7f78507
7227 Node: Q2.1.7\7f78980
7228 Node: Q2.1.8\7f79330
7229 Node: Q2.1.9\7f80861
7230 Node: Q2.1.10\7f81299
7231 Node: Q2.1.11\7f82053
7232 Node: Q2.1.12\7f82916
7233 Node: Q2.1.13\7f83868
7234 Node: Q2.1.14\7f84896
7235 Node: Q2.1.15\7f86004
7236 Node: Q2.1.16\7f93822
7237 Node: Q2.1.17\7f94513
7238 Node: Q2.1.18\7f95107
7239 Node: Q2.1.19\7f95496
7240 Node: Q2.1.20\7f96032
7241 Node: Q2.1.21\7f96411
7242 Node: Q2.1.22\7f96604
7243 Node: Q2.1.23\7f97898
7244 Node: Q2.1.24\7f98563
7245 Node: Q2.1.25\7f99020
7246 Node: Customization\7f99636
7247 Node: Q3.0.1\7f104582
7248 Node: Q3.0.2\7f105375
7249 Node: Q3.0.3\7f105807
7250 Node: Q3.0.4\7f106231
7251 Node: Q3.0.5\7f107061
7252 Node: Q3.0.6\7f107839
7253 Node: Q3.0.7\7f108416
7254 Node: Q3.0.8\7f108996
7255 Node: Q3.0.9\7f109951
7256 Node: Q3.1.1\7f110509
7257 Node: Q3.1.2\7f111297
7258 Node: Q3.1.3\7f111725
7259 Node: Q3.1.4\7f111914
7260 Node: Q3.1.5\7f112103
7261 Node: Q3.1.6\7f112494
7262 Node: Q3.1.7\7f113210
7263 Node: Q3.1.8\7f115431
7264 Node: Q3.2.1\7f115970
7265 Node: Q3.2.2\7f117651
7266 Node: Q3.2.3\7f118631
7267 Node: Q3.2.4\7f119241
7268 Node: Q3.2.5\7f119943
7269 Node: Q3.2.6\7f120407
7270 Node: Q3.2.7\7f121329
7271 Node: Q3.3.1\7f122567
7272 Node: Q3.3.2\7f122826
7273 Node: Q3.3.3\7f123486
7274 Node: Q3.3.4\7f123874
7275 Node: Q3.3.5\7f124665
7276 Node: Q3.4.1\7f126143
7277 Node: Q3.4.2\7f126717
7278 Node: Q3.5.1\7f127113
7279 Node: Q3.5.2\7f128559
7280 Node: Q3.5.3\7f128984
7281 Node: Q3.5.4\7f129819
7282 Node: Q3.5.5\7f130422
7283 Node: Q3.5.6\7f131570
7284 Node: Q3.5.7\7f132551
7285 Node: Q3.5.8\7f134055
7286 Node: Q3.5.9\7f134297
7287 Node: Q3.5.10\7f135089
7288 Node: Q3.5.11\7f135722
7289 Node: Q3.6.1\7f136272
7290 Node: Q3.6.2\7f137025
7291 Node: Q3.6.3\7f137464
7292 Node: Q3.7.1\7f137880
7293 Node: Q3.7.2\7f138765
7294 Node: Q3.7.3\7f139421
7295 Node: Q3.7.4\7f139840
7296 Node: Q3.7.5\7f140180
7297 Node: Q3.7.6\7f140645
7298 Node: Q3.7.7\7f141379
7299 Node: Q3.7.8\7f142406
7300 Node: Q3.8.1\7f142822
7301 Node: Q3.8.2\7f143118
7302 Node: Q3.8.3\7f143539
7303 Node: Q3.8.4\7f144163
7304 Node: Q3.8.5\7f145422
7305 Node: Q3.9.1\7f146204
7306 Node: Q3.9.2\7f147001
7307 Node: Q3.9.3\7f147596
7308 Node: Q3.9.4\7f148255
7309 Node: Q3.10.1\7f148965
7310 Node: Q3.10.2\7f149801
7311 Node: Q3.10.3\7f150813
7312 Node: Q3.10.4\7f151548
7313 Node: Q3.10.5\7f151932
7314 Node: Q3.10.6\7f152997
7315 Node: Subsystems\7f156030
7316 Node: Q4.0.1\7f158563
7317 Node: Q4.0.2\7f159085
7318 Node: Q4.0.3\7f159640
7319 Node: Q4.0.4\7f159958
7320 Node: Q4.0.5\7f160197
7321 Node: Q4.0.6\7f160428
7322 Node: Q4.0.7\7f161013
7323 Node: Q4.0.8\7f161331
7324 Node: Q4.0.9\7f162555
7325 Node: Q4.0.10\7f164590
7326 Node: Q4.0.11\7f165076
7327 Node: Q4.0.12\7f165951
7328 Node: Q4.1.1\7f166931
7329 Node: Q4.1.2\7f167331
7330 Node: Q4.1.3\7f167655
7331 Node: Q4.2.1\7f167961
7332 Node: Q4.2.2\7f168587
7333 Node: Q4.2.3\7f168824
7334 Node: Q4.2.4\7f169365
7335 Node: Q4.3.1\7f170015
7336 Node: Q4.3.2\7f170596
7337 Node: Q4.3.3\7f172297
7338 Node: Q4.3.4\7f172566
7339 Node: Q4.3.5\7f173240
7340 Node: Q4.4.1\7f173865
7341 Node: Q4.4.2\7f175348
7342 Node: Q4.5.1\7f176549
7343 Node: Q4.6.1\7f177316
7344 Node: Q4.7.1\7f182430
7345 Node: Q4.7.2\7f183374
7346 Node: Q4.7.3\7f183668
7347 Node: Q4.7.4\7f183854
7348 Node: Q4.7.5\7f184735
7349 Node: Q4.7.6\7f186373
7350 Node: Q4.7.7\7f186674
7351 Node: Miscellaneous\7f187543
7352 Node: Q5.0.1\7f190959
7353 Node: Q5.0.2\7f191691
7354 Node: Q5.0.3\7f192552
7355 Node: Q5.0.4\7f192960
7356 Node: Q5.0.5\7f194248
7357 Node: Q5.0.6\7f196235
7358 Node: Q5.0.7\7f196889
7359 Node: Q5.0.8\7f197491
7360 Node: Q5.0.9\7f198017
7361 Node: Q5.0.10\7f198548
7362 Node: Q5.0.11\7f198793
7363 Node: Q5.0.12\7f199039
7364 Node: Q5.0.13\7f199963
7365 Node: Q5.0.14\7f200654
7366 Node: Q5.0.15\7f201416
7367 Node: Q5.0.16\7f201710
7368 Node: Q5.0.17\7f202229
7369 Node: Q5.0.18\7f202546
7370 Node: Q5.0.19\7f202740
7371 Node: Q5.0.20\7f203161
7372 Node: Q5.1.1\7f204074
7373 Node: Q5.1.2\7f206140
7374 Node: Q5.1.3\7f206873
7375 Node: Q5.1.4\7f210265
7376 Node: Q5.1.5\7f210797
7377 Node: Q5.1.6\7f212921
7378 Node: Q5.1.7\7f214404
7379 Node: Q5.1.8\7f215994
7380 Node: Q5.1.9\7f216543
7381 Node: Q5.1.10\7f217425
7382 Node: Q5.1.11\7f218553
7383 Node: Q5.2.1\7f219098
7384 Node: Q5.2.2\7f219686
7385 Node: Q5.2.3\7f220027
7386 Node: Q5.2.4\7f220259
7387 Node: Q5.3.1\7f221167
7388 Node: Q5.3.2\7f222395
7389 Node: Q5.3.3\7f222637
7390 Node: Q5.3.4\7f223196
7391 Node: Q5.3.5\7f223870
7392 Node: Q5.3.6\7f224736
7393 Node: Q5.3.7\7f224978
7394 Node: Q5.3.8\7f227165
7395 Node: Q5.3.9\7f227409
7396 Node: Q5.3.10\7f228359
7397 Node: Q5.3.11\7f230440
7398 Node: Q5.3.12\7f232028
7399 Node: MS Windows\7f233299
7400 Node: Q6.0.1\7f235483
7401 Node: Q6.0.2\7f236476
7402 Node: Q6.0.3\7f237171
7403 Node: Q6.0.4\7f237606
7404 Node: Q6.0.5\7f237987
7405 Node: Q6.0.6\7f238724
7406 Node: Q6.0.7\7f242055
7407 Node: Q6.1.1\7f243528
7408 Node: Q6.1.2\7f244186
7409 Node: Q6.1.3\7f244457
7410 Node: Q6.1.4\7f245391
7411 Node: Q6.1.5\7f246864
7412 Node: Q6.1.6\7f247698
7413 Node: Q6.1.7\7f248739
7414 Node: Q6.2.1\7f249404
7415 Node: Q6.2.2\7f250867
7416 Node: Q6.2.3\7f251315
7417 Node: Q6.2.4\7f252017
7418 Node: Q6.2.5\7f253732
7419 Node: Q6.3.1\7f254177
7420 Node: Q6.3.2\7f255440
7421 Node: Q6.3.3\7f258620
7422 Node: Q6.3.4\7f261583
7423 Node: Q6.4.1\7f262081
7424 Node: Q6.4.2\7f263284
7425 Node: Q6.4.3\7f263785
7426 Node: Current Events\7f264594
7427 Node: Q7.0.1\7f265739
7428 Node: Q7.0.2\7f265984
7429 Node: Q7.0.3\7f270859
7430 Node: Q7.0.4\7f276626
7431 Node: Q7.0.5\7f276851
7432 Node: Q7.0.6\7f277933
7433 Node: Legacy Versions\7f278623
7434 Node: Q8.0.1\7f279281
7435 \1f
7436 End Tag Table