4102ba3484821a3b937c91c0ca2bda7e473c3069
[chise/xemacs-chise.git.1] / info / xemacs-faq.info-1
1 This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 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 Introduction
16 ************
17
18    This is the guide to the XEmacs Frequently Asked Questions list--a
19 compendium of questions and answers pertaining to one of the finest
20 programs ever written.  It is much more than just a Text Editor.
21
22    This FAQ is freely redistributable.  I take no liability for the
23 correctness and safety of any procedures or advice given here.  This
24 FAQ is distributed in the hope that it will be useful, but WITHOUT ANY
25 WARRANTY; without even the implied warranty of MERCHANTABILITY or
26 FITNESS FOR A PARTICULAR PURPOSE.
27
28    If you have a Web browser, the official hypertext version is at
29 `http://www.xemacs.org/faq/xemacs-faq.html'.
30
31    This version is somewhat nicer than the unofficial hypertext versions
32 that are archived at Utrecht, Oxford, Smart Pages, and other FAQ
33 archives.
34
35 * Menu:
36
37 * Introduction::        Introduction, Policy, Credits.
38 * Installation::        Installation and Trouble Shooting.
39 * Customization::       Customization and Options.
40 * Subsystems::          Major Subsystems.
41 * Miscellaneous::       The Miscellaneous Stuff.
42 * Current Events::      What the Future Holds.
43
44
45  --- The Detailed Node Listing ---
46
47 Introduction, Policy, Credits
48
49 * Q1.0.1::      What is XEmacs?
50 * Q1.0.2::      What is the current version of XEmacs?
51 * Q1.0.3::      Where can I find it?
52 * Q1.0.4::      Why Another Version of Emacs?
53 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
54 * Q1.0.6::      Where can I get help?
55 * Q1.0.7::      Where is the mailing list archived?
56 * Q1.0.8::      How do you pronounce XEmacs?
57 * Q1.0.9::      What does XEmacs look like?
58 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
59 * Q1.0.11::     Is there a port of XEmacs to the Macintosh?
60 * Q1.0.12::     Is there a port of XEmacs to NextStep?
61 * Q1.0.13::     Is there a port of XEmacs to OS/2?
62 * Q1.0.14::     Where can I get a printed copy of the XEmacs users manual?
63
64 Policies:
65 * Q1.1.1::      What is the FAQ editorial policy?
66 * Q1.1.2::      How do I become a Beta Tester?
67 * Q1.1.3::      How do I contribute to XEmacs itself?
68
69 Credits:
70 * Q1.2.1::      Who wrote XEmacs?
71 * Q1.2.2::      Who contributed to this version of the FAQ?
72 * Q1.2.3::      Who contributed to the FAQ in the past?
73
74 Internationalization:
75 * Q1.3.1::      What is the status of XEmacs v20?
76 * Q1.3.2::      What is the status of Asian-language support, aka MULE?
77 * Q1.3.3::      How do I type non-ASCII characters?
78 * Q1.3.4::      Can XEmacs messages come out in a different language?
79 * Q1.3.5::      Please explain the various input methods in MULE/XEmacs 20.0
80 * Q1.3.6::      How do I portably code for MULE/XEmacs 20.0?
81 * Q1.3.7::      How about Cyrillic Modes?
82
83 Getting Started:
84 * Q1.4.1::      What is a `.emacs' and is there a sample one?
85 * Q1.4.2::      Can I use the same `.emacs' with the other Emacs?
86 * Q1.4.3::      Any good XEmacs tutorials around?
87 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
88 * Q1.4.5::      And how do I bind it to a key?
89 * Q1.4.6::      What's the difference between a macro and a function?
90 * Q1.4.7::      Why options saved with 19.13 don't work with 19.14 or later?
91
92 Installation and Trouble Shooting
93
94 * Q2.0.1::      Running XEmacs without installing.
95 * Q2.0.2::      XEmacs is too big.
96 * Q2.0.3::      Compiling XEmacs with Netaudio.
97 * Q2.0.4::      Problems with Linux and ncurses.
98 * Q2.0.5::      Do I need X11 to run XEmacs?
99 * Q2.0.6::      I'm having strange crashes.  What do I do?
100 * Q2.0.7::      Libraries in non-standard locations.
101 * Q2.0.8::      can't resolve symbol _h_errno
102 * Q2.0.9::      Where do I find external libraries?
103 * Q2.0.10::     After I run configure I find a coredump, is something wrong?
104 * Q2.0.11::     XEmacs can't resolve host names.
105 * Q2.0.12::     Why can't I strip XEmacs?
106 * Q2.0.13::     Can't link XEmacs on Solaris with Gcc.
107 * Q2.0.14::     Make on HP/UX 9 fails after linking temacs
108
109 Trouble Shooting:
110 * Q2.1.1::      XEmacs just crashed on me!
111 * Q2.1.2::      Cryptic Minibuffer messages.
112 * Q2.1.3::      Translation Table Syntax messages at Startup.
113 * Q2.1.4::      Startup warnings about deducing proper fonts?
114 * Q2.1.5::      XEmacs cannot connect to my X Terminal.
115 * Q2.1.6::      XEmacs just locked up my Linux X server.
116 * Q2.1.7::      HP Alt key as Meta.
117 * Q2.1.8::      got (wrong-type-argument color-instance-p nil)!
118 * Q2.1.9::      XEmacs causes my OpenWindows 3.0 server to crash.
119 * Q2.1.10::     Warnings from incorrect key modifiers.
120 * Q2.1.11::     Can't instantiate image error... in toolbar
121 * Q2.1.12::     Regular Expression Problems on DEC OSF1.
122 * Q2.1.13::     HP/UX 10.10 and `create_process' failure
123 * Q2.1.14::     C-g doesn't work for me.  Is it broken?
124 * Q2.1.15::     How to debug an XEmacs problem with a debugger.
125 * Q2.1.16::     XEmacs crashes in `strcat' on HP/UX 10.
126 * Q2.1.17::     `Marker does not point anywhere'.
127 * Q2.1.18::     19.14 hangs on HP/UX 10.10.
128 * Q2.1.19::     XEmacs does not follow the local timezone.
129 * Q2.1.20::     `Symbol's function definition is void: hkey-help-show.'
130 * Q2.1.21::     Every so often the XEmacs frame freezes.
131 * Q2.1.22::     XEmacs seems to take a really long time to do some things.
132 * Q2.1.23::     Movemail on Linux does not work for XEmacs 19.15 and later.
133
134 Customization and Options
135
136 * Q3.0.1::      What version of Emacs am I running?
137 * Q3.0.2::      How do I evaluate Elisp expressions?
138 * Q3.0.3::      `(setq tab-width 6)' behaves oddly.
139 * Q3.0.4::      How can I add directories to the `load-path'?
140 * Q3.0.5::      How to check if a lisp function is defined?
141 * Q3.0.6::      Can I force the output of `(face-list)' to a buffer?
142 * Q3.0.7::      Font selections don't get saved after `Save Options'.
143 * Q3.0.8::      How do I make a single minibuffer frame?
144 * Q3.0.9::      What is `Customize'?
145
146 X Window System & Resources:
147 * Q3.1.1::      Where is a list of X resources?
148 * Q3.1.2::      How can I detect a color display?
149 * Q3.1.3::      `(set-screen-width)' worked in 19.6, but not in 19.13?
150 * Q3.1.4::      Specifying `Emacs*EmacsScreen.geometry' in `.emacs' does not work in 19.15?
151 * Q3.1.5::      How can I get the icon to just say `XEmacs'?
152 * Q3.1.6::      How can I have the window title area display the full path?
153 * Q3.1.7::      `xemacs -name junk' doesn't work?
154 * Q3.1.8::      `-iconic' doesn't work.
155
156 Textual Fonts & Colors:
157 * Q3.2.1::      How can I set color options from `.emacs'?
158 * Q3.2.2::      How do I set the text, menu and modeline fonts?
159 * Q3.2.3::      How can I set the colors when highlighting a region?
160 * Q3.2.4::      How can I limit color map usage?
161 * Q3.2.5::      My tty supports color, but XEmacs doesn't use them.
162 * Q3.2.6::      Can I have pixmap backgrounds in XEmacs?
163
164 The Modeline:
165 * Q3.3.1::      How can I make the modeline go away?
166 * Q3.3.2::      How do you have XEmacs display the line number in the modeline?
167 * Q3.3.3::      How do I get XEmacs to put the time of day on the modeline?
168 * Q3.3.4::      How do I turn off current chapter from AUC TeX modeline?
169 * Q3.3.5::      How can one change the modeline color based on the mode used?
170
171 Multiple Device Support:
172 * Q3.4.1::      How do I open a frame on another screen of my multi-headed display?
173 * Q3.4.2::      Can I really connect to a running XEmacs after calling up over a modem?  How?
174
175 The Keyboard:
176 * Q3.5.1::      How can I bind complex functions (or macros) to keys?
177 * Q3.5.2::      How can I stop down-arrow from adding empty lines to the bottom of my buffers?
178 * Q3.5.3::      How do I bind C-. and C-; to scroll one line up and down?
179 * Q3.5.4::      Globally binding Delete?
180 * Q3.5.5::      Scrolling one line at a time.
181 * Q3.5.6::      How to map Help key alone on Sun type4 keyboard?
182 * Q3.5.7::      How can you type in special characters in XEmacs?
183 * Q3.5.8::      Why does `(global-set-key [delete-forward] 'delete-char)' complain?
184 * Q3.5.9::      How do I make the Delete key delete forward?
185 * Q3.5.10::     Can I turn on "sticky" modifier keys?
186 * Q3.5.11::     How do I map the arrow keys?
187
188 The Cursor:
189 * Q3.6.1::      Is there a way to make the bar cursor thicker?
190 * 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?
191 * Q3.6.3::      Can I make the cursor blink?
192
193 The Mouse and Highlighting:
194 * Q3.7.1::      How can I turn off Mouse pasting?
195 * Q3.7.2::      How do I set control/meta/etc modifiers on mouse buttons?
196 * Q3.7.3::      Clicking the left button does not do anything in buffer list.
197 * Q3.7.4::      How can I get a list of buffers when I hit mouse button 3?
198 * Q3.7.5::      Why does cut-and-paste not work between XEmacs and a cmdtool?
199 * Q3.7.6::      How I can set XEmacs up so that it pastes where the text cursor is?
200 * Q3.7.7::      How do I select a rectangular region?
201 * Q3.7.8::      Why does M-w take so long?
202
203 The Menubar and Toolbar:
204 * Q3.8.1::      How do I get rid of the menu (or menubar)?
205 * Q3.8.2::      Can I customize the basic menubar?
206 * Q3.8.3::      How do I control how many buffers are listed in the menu `Buffers' list?
207 * Q3.8.4::      Resources like `Emacs*menubar*font' are not working?
208 * Q3.8.5::      How can I bind a key to a function to toggle the toolbar?
209
210 Scrollbars:
211 * Q3.9.1::      How can I disable the scrollbar?
212 * Q3.9.2::      How can one use resources to change scrollbar colors?
213 * Q3.9.3::      Moving the scrollbar can move the point; can I disable this?
214 * Q3.9.4::      How can I get automatic horizontal scrolling?
215
216 Text Selections:
217 * Q3.10.1::     How can I turn off or change highlighted selections?
218 * Q3.10.2::     How do I get that typing on an active region removes it?
219 * Q3.10.3::     Can I turn off the highlight during isearch?
220 * Q3.10.4::     How do I turn off highlighting after C-x C-p (mark-page)?
221 * Q3.10.5::     The region disappears when I hit the end of buffer while scrolling.
222
223 Major Subsystems
224
225 * Q4.0.1::      How do I set up VM to retrieve remote mail using POP?
226 * Q4.0.2::      How do I get VM to filter mail for me?
227 * Q4.0.3::      How can I get VM to automatically check for new mail?
228 * Q4.0.4::      [This question intentionally left blank]
229 * Q4.0.5::      How do I get my outgoing mail archived?
230 * 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"?
231 * Q4.0.7::      Is there a mailing list or FAQ for VM?
232 * Q4.0.8::      Remote mail reading with VM.
233 * Q4.0.9::      rmail or VM gets an error incorporating new mail.
234 * Q4.0.10::     How do I make VM stay in a single frame?
235 * Q4.0.11::     How do I make VM or mh-e display graphical smilies?
236 * Q4.0.12::     Customization of VM not covered in the manual or here.
237
238 Web browsing with W3:
239 * Q4.1.1::      What is W3?
240 * Q4.1.2::      How do I run W3 from behind a firewall?
241 * Q4.1.3::      Is it true that W3 supports style sheets and tables?
242
243 Reading Netnews and Mail with Gnus:
244 * Q4.2.1::      GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
245 * Q4.2.2::      [This question intentionally left blank]
246 * Q4.2.3::      How do I make Gnus stay within a single frame?
247 * Q4.2.4::      How do I customize the From: line?
248
249 Other Mail & News:
250 * Q4.3.1::      How can I read and/or compose MIME messages?
251 * Q4.3.2::      What is TM and where do I get it?
252 * Q4.3.3::      Why isn't this `movemail' program working?
253 * Q4.3.4::      Movemail is also distributed by Netscape?  Can that cause problems?
254 * Q4.3.5::      Where do I find pstogif (required by tm)?
255
256 Sparcworks, EOS, and WorkShop:
257 * Q4.4.1::      What is SPARCworks, EOS, and WorkShop
258 * Q4.4.2::      How do I start the Sun Workshop support in XEmacs 21?
259
260 Energize:
261 * Q4.5.1::      What is/was Energize?
262
263 Infodock:
264 * Q4.6.1::      What is Infodock?
265
266 Other Unbundled Packages:
267 * Q4.7.1::      What is AUC TeX?  Where do you get it?
268 * Q4.7.2::      Are there any Emacs Lisp Spreadsheets?
269 * Q4.7.3::      Byte compiling AUC TeX on XEmacs 19.14
270 * Q4.7.4::      Problems installing AUC TeX
271 * Q4.7.5::      Is there a reason for an Emacs package not to be included in XEmacs?
272 * Q4.7.6::      Is there a MatLab mode?
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?
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::     Filladapt doesn't work in 19.15?
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::     I upgraded to XEmacs 19.14 and gnuserv stopped working
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 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::      Fontifying hangs when editing a postscript file.
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 What the Future Holds
331
332 * Q6.0.1::      What is new in 20.2?
333 * Q6.0.2::      What is new in 20.3?
334 * Q6.0.3::      What is new in 20.4?
335 * Q6.0.4::      Procedural changes in XEmacs development.
336
337 \1f
338 File: xemacs-faq.info,  Node: Introduction,  Next: Installation,  Prev: Top,  Up: Top
339
340 1 Introduction, Policy, Credits
341 *******************************
342
343    Learning XEmacs is a lifelong activity.  Even people who have used
344 Emacs for years keep discovering new features.  Therefore this document
345 cannot be complete.  Instead it is aimed at the person who is either
346 considering XEmacs for their own use, or has just obtained it and is
347 wondering what to do next.  It is also useful as a reference to
348 available resources.
349
350    The previous maintainer of the FAQ was Anthony Rossini
351 <rossini@stat.sc.edu>, who started it, after getting tired of hearing
352 JWZ complain about repeatedly having to answer questions.  Ben Wing
353 <ben@xemacs.org> and Chuck Thompson <cthomp@xemacs.org>, the principal
354 authors of XEmacs, then took over and Ben did a massive update
355 reorganizing the whole thing.  At which point Anthony took back over,
356 but then had to give it up again.  Some of the other contributors to
357 this FAQ are listed later in this document.
358
359    The previous version was converted to hypertext format, and edited by
360 Steven L. Baur <steve@xemacs.org>.  It was converted back to texinfo by
361 Hrvoje Niksic <hniksic@xemacs.org>.
362
363    The FAQ was then maintained by Andreas Kaempf <andreas@sccon.com>,
364 who passed it on to Christian Nyb/o <faq@xemacs.org>, the current FAQ
365 maintainer.
366
367    If you notice any errors or items which should be added or amended to
368 this FAQ please send email to Christian Nyb/o <faq@xemacs.org>. Include
369 `XEmacs FAQ' on the Subject: line.
370
371 * Menu:
372
373 Introduction:
374 * Q1.0.1::      What is XEmacs?
375 * Q1.0.2::      What is the current version of XEmacs?
376 * Q1.0.3::      Where can I find it?
377 * Q1.0.4::      Why Another Version of Emacs?
378 * Q1.0.5::      Why Haven't XEmacs and GNU Emacs Merged?
379 * Q1.0.6::      Where can I get help?
380 * Q1.0.7::      Where is the mailing list archived?
381 * Q1.0.8::      How do you pronounce XEmacs?
382 * Q1.0.9::      What does XEmacs look like?
383 * Q1.0.10::     Is there a port of XEmacs to Microsoft ('95 or NT)?
384 * Q1.0.11::     Is there a port of XEmacs to the Macintosh?
385 * Q1.0.12::     Is there a port of XEmacs to NextStep?
386 * Q1.0.13::     Is there a port of XEmacs to OS/2?
387 * Q1.0.14::     Where can I get a printed copy of the XEmacs users manual?
388
389 Policies:
390 * Q1.1.1::      What is the FAQ editorial policy?
391 * Q1.1.2::      How do I become a Beta Tester?
392 * Q1.1.3::      How do I contribute to XEmacs itself?
393
394 Credits:
395 * Q1.2.1::      Who wrote XEmacs?
396 * Q1.2.2::      Who contributed to this version of the FAQ?
397 * Q1.2.3::      Who contributed to the FAQ in the past?
398
399 Internationalization:
400 * Q1.3.1::      What is the status of XEmacs v20?
401 * Q1.3.2::      What is the status of Asian-language support, aka MULE?
402 * Q1.3.3::      How do I type non-ASCII characters?
403 * Q1.3.4::      Can XEmacs messages come out in a different language?
404 * Q1.3.5::      Please explain the various input methods in MULE/XEmacs 20.0
405 * Q1.3.6::      How do I portably code for MULE/XEmacs 20.0?
406 * Q1.3.7::      How about Cyrillic Modes?
407
408 Getting Started:
409 * Q1.4.1::      What is a `.emacs' and is there a sample one?
410 * Q1.4.2::      Can I use the same `.emacs' with the other Emacs?
411 * Q1.4.3::      Any good XEmacs tutorials around?
412 * Q1.4.4::      May I see an example of a useful XEmacs Lisp function?
413 * Q1.4.5::      And how do I bind it to a key?
414 * Q1.4.6::      What's the difference between a macro and a function?
415 * Q1.4.7::      Why options saved with 19.13 don't work with 19.14 or later?
416
417 \1f
418 File: xemacs-faq.info,  Node: Q1.0.1,  Next: Q1.0.2,  Prev: Introduction,  Up: Introduction
419
420 1.0: Introduction
421 =================
422
423 Q1.0.1: What is XEmacs?
424 -----------------------
425
426    An alternative to GNU Emacs, originally based on an early alpha
427 version of FSF's version 19, and has diverged quite a bit since then.
428 XEmacs was known as Lucid Emacs through version 19.10.  Almost all
429 features of GNU Emacs are supported in XEmacs.  The maintainers of
430 XEmacs actively track changes to GNU Emacs while also working to add
431 new features.
432
433 \1f
434 File: xemacs-faq.info,  Node: Q1.0.2,  Next: Q1.0.3,  Prev: Q1.0.1,  Up: Introduction
435
436 Q1.0.2: What is the current version of XEmacs?
437 ----------------------------------------------
438
439    XEmacs 20.4 is a minor upgrade from 20.3, containing many bugfixes.
440 It was released in February 1998.
441
442    XEmacs 19.16 was the last release of v19, released in November, 1997,
443 which was also the last version without international language support.
444
445 \1f
446 File: xemacs-faq.info,  Node: Q1.0.3,  Next: Q1.0.4,  Prev: Q1.0.2,  Up: Introduction
447
448 Q1.0.3: Where can I find it?
449 ----------------------------
450
451    The canonical source and binaries is found via anonymous FTP at:
452
453      `ftp://ftp.xemacs.org/pub/xemacs/'
454
455 \1f
456 File: xemacs-faq.info,  Node: Q1.0.4,  Next: Q1.0.5,  Prev: Q1.0.3,  Up: Introduction
457
458 Q1.0.4: Why Another Version of Emacs?
459 -------------------------------------
460
461    For a detailed description of the differences between GNU Emacs and
462 XEmacs and a detailed history of XEmacs, check out the
463      NEWS file (http://www.xemacs.org/NEWS.html)
464
465    However, here is a list of some of the reasons why we think you might
466 consider using it:
467
468    * It looks nicer.
469
470    * The XEmacs maintainers are generally more receptive to suggestions
471      than the GNU Emacs maintainers.
472
473    * Many more bundled packages than GNU Emacs
474
475    * Binaries are available for many common operating systems.
476
477    * Face support on TTY's.
478
479    * A built-in toolbar.
480
481    * Better Motif compliance.
482
483    * Some internationalization support (including full MULE support, if
484      compiled with it.)
485
486    * Variable-width fonts.
487
488    * Variable-height lines.
489
490    * Marginal annotations.
491
492    * ToolTalk support.
493
494    * XEmacs can be used as an Xt widget, and can be embedded within
495      another application.
496
497    * Horizontal and vertical scrollbars (using real toolkit scrollbars).
498
499    * Better APIs (and performance) for attaching fonts, colors, and
500      other properties to text.
501
502    * The ability to embed arbitrary graphics in a buffer.
503
504    * Completely compatible (at the C level) with the Xt-based toolkits.
505
506    * First production Web Browser supporting Style Sheets.
507
508 \1f
509 File: xemacs-faq.info,  Node: Q1.0.5,  Next: Q1.0.6,  Prev: Q1.0.4,  Up: Introduction
510
511 Q1.0.5: Why Haven't XEmacs and GNU Emacs Merged?
512 ------------------------------------------------
513
514    There are currently irreconcilable differences in the views about
515 technical, programming, design and organizational matters between RMS
516 and the XEmacs development team which provide little hope for a merge to
517 take place in the short-term future.
518
519    If you have a comment to add regarding the merge, it is a good idea
520 to avoid posting to the newsgroups,  because of the very heated
521 flamewars that often result.  Mail your questions to
522 <xemacs-beta@xemacs.org> and <bug-gnu-emacs@prep.ai.mit.edu>.
523
524 \1f
525 File: xemacs-faq.info,  Node: Q1.0.6,  Next: Q1.0.7,  Prev: Q1.0.5,  Up: Introduction
526
527 Q1.0.6: Where can I get help?
528 -----------------------------
529
530    Probably the easiest way, if everything is installed, is to use
531 info, by pressing `C-h i', or selecting `Manuals->Info' from the Help
532 Menu.
533
534    Also, `M-x apropos' will look for commands for you.
535
536    Try reading this FAQ, examining the regular GNU Emacs FAQ (which can
537 be found with the Emacs 19 distribution) as well as at
538 `http://www.eecs.nwu.edu/emacs/faq/' and reading the Usenet group
539 comp.emacs.xemacs.
540
541    If that does not help, try posting your question to
542 comp.emacs.xemacs.  Please *do not* post XEmacs related questions to
543 gnu.emacs.help.
544
545    If you cannot post or read Usenet news, there is a corresponding
546 mailing list which is available.  It can be subscribed to by sending a
547 message with a subject of `subscribe' to <xemacs-request@xemacs.org>
548 for subscription information and <xemacs@xemacs.org> to send messages
549 to the list.
550
551    To cancel a subscription, you *must* use the xemacs-request address.
552 Send a message with a subject of `unsubscribe' to be removed.
553
554 \1f
555 File: xemacs-faq.info,  Node: Q1.0.7,  Next: Q1.0.8,  Prev: Q1.0.6,  Up: Introduction
556
557 Q1.0.7: Where is the mailing list archived?
558 -------------------------------------------
559
560    The mailing list was archived in the directory
561      `ftp://ftp.xemacs.org/pub/mlists/'.
562
563    However, this archive is out of date.  The current mailing list
564 server supports an `archive' feature, which may be utilized.
565
566 \1f
567 File: xemacs-faq.info,  Node: Q1.0.8,  Next: Q1.0.9,  Prev: Q1.0.7,  Up: Introduction
568
569 Q1.0.8: How do you pronounce XEmacs?
570 ------------------------------------
571
572    I pronounce it `Eks eemax'.
573
574 \1f
575 File: xemacs-faq.info,  Node: Q1.0.9,  Next: Q1.0.10,  Prev: Q1.0.8,  Up: Introduction
576
577 Q1.0.9: What does XEmacs look like?
578 -----------------------------------
579
580    Screen snapshots are available in the WWW version of the FAQ.
581      `http://www.xemacs.org/faq/xemacs-faq.html'
582
583 \1f
584 File: xemacs-faq.info,  Node: Q1.0.10,  Next: Q1.0.11,  Prev: Q1.0.9,  Up: Introduction
585
586 Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)?
587 ------------------------------------------------------------
588
589    Thanks to efforts of many people, coordinated by David Hobley
590 <davidh@wr.com.au> and Marc Paquette <marcpa@cam.org>, beta versions of
591 XEmacs now run on 32-bit Windows platforms (NT and 95).  The current
592 betas require having an X server to run XEmacs; however, a native NT/95
593 port is in alpha, thanks to Jonathan Harris <jhar@tardis.ed.ac.uk>.
594
595    Although some features are still unimplemented, XEmacs 21.0 will
596 support MS-Windows.
597
598    The NT development is now coordinated by a mailing list at
599 <xemacs-nt@xemacs.org>.
600
601    If you are willing to contribute or want to follow the progress,
602 mail to <xemacs-nt-request@xemacs.org> to subscribe.
603
604    Furthermore, Altrasoft is seeking corporate and government sponsors
605 to help fund a fully native port of XEmacs to Windows 95 and NT using
606 full-time, senior-level staff working under a professionally managed
607 project structure.  See the Altrasoft web site
608 (http://www.altrasoft.com/) for more details or contact Altrasoft
609 directly at 1-888-ALTSOFT.
610
611    The closest existing port is "Win-Emacs", which is based on Lucid
612 Emacs 19.6.  Available from `http://www.pearlsoft.com/'.
613
614    There's a port of GNU Emacs (not XEmacs) at
615      `http://www.cs.washington.edu/homes/voelker/ntemacs.html'.
616
617 \1f
618 File: xemacs-faq.info,  Node: Q1.0.11,  Next: Q1.0.12,  Prev: Q1.0.10,  Up: Introduction
619
620 Q1.0.11: Is there a port of XEmacs to the Macintosh?
621 ----------------------------------------------------
622
623    There has been a port to the MachTen environment of XEmacs 19.13,
624 but no patches have been submitted to the maintainers to get this in the
625 mainstream distribution.
626
627    For the MacOS, there is a port of Emacs 18.59
628 (ftp://ftp.cs.cornell.edu/pub/parmet/).
629
630 \1f
631 File: xemacs-faq.info,  Node: Q1.0.12,  Next: Q1.0.13,  Prev: Q1.0.11,  Up: Introduction
632
633 Q1.0.12: Is there a port of XEmacs to NextStep?
634 -----------------------------------------------
635
636    Carl Edman, apparently no longer at <cedman@princeton.edu>, did the
637 port of GNU Emacs to NeXTstep and expressed interest in doing the
638 XEmacs port, but never went any farther.
639
640 \1f
641 File: xemacs-faq.info,  Node: Q1.0.13,  Next: Q1.0.14,  Prev: Q1.0.12,  Up: Introduction
642
643 Q1.0.13: Is there a port of XEmacs to OS/2?
644 -------------------------------------------
645
646    No, and there is no news of anyone working on it.
647
648 \1f
649 File: xemacs-faq.info,  Node: Q1.0.14,  Next: Q1.1.1,  Prev: Q1.0.13,  Up: Introduction
650
651 Q1.0.14: Where can I obtain a printed copy of the XEmacs users manual?
652 ----------------------------------------------------------------------
653
654    Altrasoft Associates, a firm specializing in Emacs-related support
655 and development, will be maintaining the XEmacs user manual.  The firm
656 plans to begin publishing printed copies of the manual soon.
657
658        Web:     `http://www.xemacs.com'
659        E-mail:  <info@xemacs.com>
660        Tel:     +1 408 243 3300
661
662 \1f
663 File: xemacs-faq.info,  Node: Q1.1.1,  Next: Q1.1.2,  Prev: Q1.0.14,  Up: Introduction
664
665 1.1: Policies
666 =============
667
668 Q1.1.1: What is the FAQ editorial policy?
669 -----------------------------------------
670
671    The FAQ is actively maintained and modified regularly.  All links
672 should be up to date.
673
674    Changes are displayed on a monthly basis.  "Months", for this
675 purpose are defined as the 5th of the month through the 5th of the
676 month.  Preexisting questions that have been changed are marked as such.
677 Brand new questions are tagged.
678
679    All submissions are welcome.  E-mail submissions to Christian Nyb/o
680 <faq@xemacs.org>.
681
682    Please make sure that `XEmacs FAQ' appears on the Subject: line.  If
683 you think you have a better way of answering a question, or think a
684 question should be included, I'd like to hear about it.  Questions and
685 answers included into the FAQ will be edited for spelling and grammar,
686 and will be attributed.  Answers appearing without attribution are
687 either from versions of the FAQ dated before May 1996, or are from one
688 of the four people listed at the top of this document.  Answers quoted
689 from Usenet news articles will always be attributed, regardless of the
690 author.
691
692 \1f
693 File: xemacs-faq.info,  Node: Q1.1.2,  Next: Q1.1.3,  Prev: Q1.1.1,  Up: Introduction
694
695 Q1.1.2: How do I become a Beta Tester?
696 --------------------------------------
697
698    Send an email message to <xemacs-beta-request@xemacs.org> with a
699 subject line of `subscribe'.
700
701    Be prepared to get your hands dirty, as beta testers are expected to
702 identify problems as best they can.
703
704 \1f
705 File: xemacs-faq.info,  Node: Q1.1.3,  Next: Q1.2.1,  Prev: Q1.1.2,  Up: Introduction
706
707 Q1.1.3: How do I contribute to XEmacs itself?
708 ---------------------------------------------
709
710    Ben Wing <ben@xemacs.org> writes:
711
712      BTW if you have a wish list of things that you want added, you
713      have to speak up about it!  More specifically, you can do the
714      following if you want a feature added (in increasing order of
715      usefulness):
716
717         * Make a posting about a feature you want added.
718
719         * Become a beta tester and make more postings about those same
720           features.
721
722         * Convince us that you're going to use the features in some
723           cool and useful way.
724
725         * Come up with a clear and well-thought-out API concerning the
726           features.
727
728         * Write the code to implement a feature and send us a patch.
729
730      (not that we're necessarily requiring you to write the code, but
731      we can always hope :)
732
733 \1f
734 File: xemacs-faq.info,  Node: Q1.2.1,  Next: Q1.2.2,  Prev: Q1.1.3,  Up: Introduction
735
736 1.2: Credits
737 ============
738
739 Q1.2.1: Who wrote XEmacs?
740 -------------------------
741
742    XEmacs is the result of the time and effort of many people.  The
743 developers responsible for the 19.16/20.x releases are:
744
745    * Martin Buchholz <martin@xemacs.org>
746
747    * Steve Baur <steve@xemacs.org>
748
749    * Hrvoje Niksic <hniksic@xemacs.org>
750
751
752    The developers responsible for the 19.14 release are:
753
754    * Chuck Thompson <cthomp@xemacs.org>
755
756      Chuck was Mr. XEmacs from 19.11 through 19.14, and is responsible
757      for XEmacs becoming a widely distributed program over the Internet.
758
759    * Ben Wing <ben@xemacs.org>
760
761
762    * Jamie Zawinski <jwz@jwz.org>
763
764      Jamie Zawinski was Mr. Lucid Emacs from 19.0 through 19.10, the
765      last release actually named Lucid Emacs.  Richard Mlynarik was
766      crucial to most of those releases.
767
768    * Richard Mlynarik <mly@adoc.xerox.com>
769
770    Along with many other contributors, partially enumerated in the
771 `About XEmacs' option in the Help menu.
772
773 \1f
774 File: xemacs-faq.info,  Node: Q1.2.2,  Next: Q1.2.3,  Prev: Q1.2.1,  Up: Introduction
775
776 Q1.2.2: Who contributed to this version of the FAQ?
777 ---------------------------------------------------
778
779    The following people contributed valuable suggestions to building
780 this version of the FAQ (listed in alphabetical order):
781
782    * SL Baur <steve@xemacs.org>
783
784    * Hrvoje Niksic <hniksic@xemacs.org>
785
786    * Aki Vehtari <Aki.Vehtari@hut.fi>
787
788
789 \1f
790 File: xemacs-faq.info,  Node: Q1.2.3,  Next: Q1.3.1,  Prev: Q1.2.2,  Up: Introduction
791
792 Q1.2.3: Who contributed to the FAQ in the past?
793 -----------------------------------------------
794
795    This is only a partial list, as many names were lost in a hard disk
796 crash some time ago.
797
798    * Curtis.N.Bingham <binge@aloft.att.com>
799
800    * Richard Caley <rjc@cogsci.ed.ac.uk>
801
802    * Richard Cognot <cognot@ensg.u-nancy.fr>
803
804    * William G. Dubuque <wgd@martigny.ai.mit.edu>
805
806    * Eric Eide <eeide@cs.utah.edu>
807
808    * Chris Flatters <cflatter@nrao.edu>
809
810    * Evelyn Ginsparg <ginsparg@adra.com>
811
812    * Marty Hall <hall@aplcenmp.apl.jhu.edu>
813
814    * Darrell Kindred <dkindred@cmu.edu>
815
816    * David Moore <dmoore@ucsd.edu>
817
818    * Arup Mukherjee <arup+@cmu.edu>
819
820    * Juergen Nickelsen <nickel@prz.tu-berlin.de>
821
822    * Kevin R. Powell <powell@csl.ncsa.uiuc.edu>
823
824    * Justin Sheehy <dworkin@ccs.neu.edu>
825
826    * Stig <stig@hackvan.com>
827
828    * Aki Vehtari <Aki.Vehtari@hut.fi>
829
830 \1f
831 File: xemacs-faq.info,  Node: Q1.3.1,  Next: Q1.3.2,  Prev: Q1.2.3,  Up: Introduction
832
833 1.3: Internationalization
834 =========================
835
836 Q1.3.1: What is the status of XEmacs v20?
837 -----------------------------------------
838
839    XEmacs v20 is the version of XEmacs that includes MULE
840 (Asian-language) support.  XEmacs 20.0 was released in February 1997,
841 followed by XEmacs 20.2 in May, XEmacs 20.3 in November and XEmacs 20.4
842 in February 1998.  When compiled without MULE support, 20.4 is
843 approximately as stable as 19.16, and probably faster (due to
844 additional optimization work.)
845
846    As of XEmacs 20.3, version 20 is _the_ supported version of XEmacs.
847 This means that 19.16 will optionally receive stability fixes (if any),
848 but that all the real development work will be done on the v20 tree.
849
850    The incompatible changes in XEmacs 20 include the additional
851 byte-codes, new primitive data types (`character', `char-table', and
852 `range-table').  This means that the character-integer equivalence
853 inherent to all the previous Emacs and XEmacs releases no longer
854 applies.
855
856    However, to avoid breaking old code, many functions that should
857 normally accept characters work with integers, and vice versa.  For more
858 information, see the Lisp reference manual.  Here is a relevant excerpt,
859 for your convenience.
860
861        In XEmacs version 19, and in all versions of FSF GNU Emacs, a
862      "character" in XEmacs Lisp is nothing more than an integer.  This
863      is yet another holdover from XEmacs Lisp's derivation from
864      vintage-1980 Lisps; modern versions of Lisp consider this
865      equivalence a bad idea, and have separate character types.  In
866      XEmacs version 20, the modern convention is followed, and
867      characters are their own primitive types. (This change was
868      necessary in order for MULE, i.e. Asian-language, support to be
869      correctly implemented.)
870
871      Even in XEmacs version 20, remnants of the equivalence between
872      characters and integers still exist; this is termed the "char-int
873      confoundance disease".  In particular, many functions such as `eq',
874      `equal', and `memq' have equivalent functions (`old-eq',
875      `old-equal', `old-memq', etc.) that pretend like characters are
876      integers are the same.  Byte code compiled under any version 19
877      Emacs will have all such functions mapped to their `old-'
878      equivalents when the byte code is read into XEmacs 20.  This is to
879      preserve compatibility - Emacs 19 converts all constant characters
880      to the equivalent integer during byte-compilation, and thus there
881      is no other way to preserve byte-code compatibility even if the
882      code has specifically been written with the distinction between
883      characters and integers in mind.
884
885      Every character has an equivalent integer, called the "character
886      code".  For example, the character `A' is represented as the
887      integer 65, following the standard ASCII representation of
888      characters.  If XEmacs was not compiled with MULE support, the
889      range of this integer will always be 0 to 255 - eight bits, or one
890      byte. (Integers outside this range are accepted but silently
891      truncated; however, you should most decidedly _not_ rely on this,
892      because it will not work under XEmacs with MULE support.)  When
893      MULE support is present, the range of character codes is much
894      larger. (Currently, 19 bits are used.)
895
896      FSF GNU Emacs uses kludgy character codes above 255 to represent
897      keyboard input of ASCII characters in combination with certain
898      modifiers.  XEmacs does not use this (a more general mechanism is
899      used that does not distinguish between ASCII keys and other keys),
900      so you will never find character codes above 255 in a non-MULE
901      XEmacs.
902
903      Individual characters are not often used in programs.  It is far
904      more common to work with _strings_, which are sequences composed of
905      characters.
906
907 \1f
908 File: xemacs-faq.info,  Node: Q1.3.2,  Next: Q1.3.3,  Prev: Q1.3.1,  Up: Introduction
909
910 Q1.3.2: What is the status of Asian-language support, aka MULE?
911 ---------------------------------------------------------------
912
913    The MULE support works OK but still needs a fair amount of work
914 before it's really solid.  We could definitely use some help here, esp.
915 people who speak Japanese and will use XEmacs/MULE to work with
916 Japanese and have some experience with E-Lisp.
917
918    As the fundings on Mule have stopped, the Mule part of XEmacs is
919 currently looking for a full-time maintainer.  If you can provide help
920 here, or are willing to fund the work, please mail to
921 <xemacs-beta@xemacs.org>.
922
923    *Note Q1.1.2::.
924
925 \1f
926 File: xemacs-faq.info,  Node: Q1.3.3,  Next: Q1.3.4,  Prev: Q1.3.2,  Up: Introduction
927
928 Q1.3.3: How do I type non-ASCII characters?
929 -------------------------------------------
930
931    See question 3.5.7 (*note Q3.5.7::) in part 3 of this FAQ.
932
933 \1f
934 File: xemacs-faq.info,  Node: Q1.3.4,  Next: Q1.3.5,  Prev: Q1.3.3,  Up: Introduction
935
936 Q1.3.4: Can XEmacs messages come out in a different language?
937 -------------------------------------------------------------
938
939    The message-catalog support has mostly been written but doesn't
940 currently work.  The first release of XEmacs 20 will _not_ support it.
941 However, menubar localization _does_ work, even in 19.14.  To enable
942 it, add to your `Emacs' file entries like this:
943
944      Emacs*XlwMenu.resourceLabels:                      True
945      Emacs*XlwMenu.file.labelString:                    Fichier
946      Emacs*XlwMenu.openInOtherWindow.labelString:       In anderem Fenster offnen
947
948    The name of the resource is derived from the non-localized entry by
949 removing punctuation and capitalizing as above.
950
951 \1f
952 File: xemacs-faq.info,  Node: Q1.3.5,  Next: Q1.3.6,  Prev: Q1.3.4,  Up: Introduction
953
954 Q1.3.5: Please explain the various input methods in MULE/XEmacs 20.0
955 --------------------------------------------------------------------
956
957    MORIOKA Tomohiko <morioka@jaist.ac.jp> writes:
958
959      Original Mule supports the following input methods: Wnn4, Wnn6,
960      Canna, SJ3 and XIM. Interfaces for Wnn and SJ3 uses the `egg' user
961      interface. Interface for Canna does not use `egg'. I don't know
962      about XIM. It is to support ATOK, of course, it may work for
963      another servers.
964
965      Wnn supports Japanese, Chinese and Korean. It is made by OMRON and
966      Kyôto university. It is a powerful and complex system.  Wnn4 is
967      free and Wnn6 is not free.
968
969      Canna supports only Japanese. It is made by NEC. It is a simple and
970      powerful system. Canna uses only grammar (Wnn uses grammar and
971      probability between words), so I think Wnn is cleverer than Canna,
972      however Canna users made a good grammar and dictionary.  So for
973      standard modern Japanese, Canna seems cleverer than Wnn4. In
974      addition, the UNIX version of Canna is free (now there is a
975      Microsoft Windows version).
976
977      SJ3 supports only Japanese. It is made by Sony.  XIM supports was
978      made to use ATOK (a major input method in personal computer
979      world).  XIM is the standard for accessing input methods bundled
980      in Japanese versions of Solaris.  (XEmacs 20 will support XIM
981      input).
982
983      Egg consists of following parts:
984
985        1. Input character Translation System (ITS) layer.  It
986           translates ASCII inputs to Kana/PinYin/Hangul characters.
987
988        2. Kana/PinYin/Hangul to Kanji transfer layer.  It is interface
989           layer for network Kana-Kanji server (Wnn and Sj3).
990
991      These input methods are modal, namely there are mode, alphabet
992      mode and Kana-Kanji transfer mode.  However there are mode-less
993      input methods for Egg and Canna.  `Boiled-egg' is a mode-less
994      input method running on Egg.  For Canna, `canna.el' has a tiny
995      boiled-egg like command, `(canna-boil)', and there are some
996      boiled-egg like utilities.  In addition, it was planned to make an
997      abstraction for all transfer type input methods.  However authors
998      of input methods are busy, so maybe this plan is stopped.  Perhaps
999      after Mule merged GNU Emacs will be released, it will be continued.
1000
1001 \1f
1002 File: xemacs-faq.info,  Node: Q1.3.6,  Next: Q1.3.7,  Prev: Q1.3.5,  Up: Introduction
1003
1004 Q1.3.6: How do I portably code for MULE/XEmacs 20?
1005 --------------------------------------------------
1006
1007    MORIOKA Tomohiko <morioka@jaist.ac.jp> writes:
1008
1009      MULE and XEmacs are quite different. So the application
1010      implementor must write separate code for these mule variants.
1011
1012      MULE and the next version of Emacs are similar but the symbols are
1013      very different--requiring separate code as well.
1014
1015      Namely we must support 3 kinds of mule variants and 4 or 5 or 6
1016      kinds of emacs variants... (;_;) I'm shocked, so I wrote a wrapper
1017      package called `emu' to provide a common interface.
1018
1019      I have the following suggestions about dealing with mule variants:
1020
1021         * `(featurep 'mule)' `t' on all mule variants
1022
1023         * `(boundp 'MULE)' is `t' on only MULE.  Maybe the next version
1024           of Emacs will not have this symbol.
1025
1026         * MULE has a variable `mule-version'.  Perhaps the next version
1027           of Emacs will have this variable as well.
1028
1029      Following is a sample to distinguish mule variants:
1030
1031           (if (featurep 'mule)
1032               (cond ((boundp 'MULE)
1033                      ;; for original Mule
1034                      )
1035                   ((string-match "XEmacs" emacs-version)
1036                    ;; for XEmacs with Mule
1037                    )
1038                   (t
1039                    ;; for next version of Emacs
1040                    ))
1041             ;; for old emacs variants
1042             )
1043
1044 \1f
1045 File: xemacs-faq.info,  Node: Q1.3.7,  Next: Q1.4.1,  Prev: Q1.3.6,  Up: Introduction
1046
1047 Q1.3.7: How about Cyrillic Modes?
1048 ---------------------------------
1049
1050    Ilya Zakharevich <ilya@math.ohio-state.edu> writes:
1051
1052      There is a cyrillic mode in the file `mysetup.zip' in
1053      `ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/'.  This is a
1054      modification to Valery Alexeev's <ava@math.jhu.ed> `russian.el'
1055      which can be obtained from
1056
1057    `http://ftpsearch.ntnu.no/?query=russian.el.Z'.
1058
1059    Dima Barsky <d.barsky@ee.surrey.ac.uk> writes:
1060
1061      There is another cyrillic mode for both GNU Emacs and XEmacs by
1062      Dmitrii (Mitya) Manin <manin@camelot.mssm.edu> at
1063      `http://kulichki-lat.rambler.ru/centrolit/manin/cyr.el'.
1064
1065    Rebecca Ore <rebecca.ore@op.net> writes:
1066
1067      The fullest resource I found on Russian language use (in and out of
1068      XEmacs) is
1069      `http://sunsite.oit.unc.edu/sergei/Software/Software.html'
1070
1071 \1f
1072 File: xemacs-faq.info,  Node: Q1.4.1,  Next: Q1.4.2,  Prev: Q1.3.7,  Up: Introduction
1073
1074 1.4: Getting Started, Backing up & Recovery
1075 ===========================================
1076
1077 Q1.4.1: What is a `.emacs' and is there a sample one?
1078 -----------------------------------------------------
1079
1080    The `.emacs' file is used to customize XEmacs to your tastes.  No
1081 two are alike, nor are they expected to be alike, but that's the point.
1082 The XEmacs distribution contains an excellent starter example in the etc
1083 directory called `sample.emacs'.  Copy this file from there to your
1084 home directory and rename it `.emacs'.  Then edit it to suit.
1085
1086    Starting with 19.14, you may bring the `sample.emacs' into an XEmacs
1087 buffer by selecting `Help->Sample .emacs' from the menubar.  To
1088 determine the location of the `etc' directory type the command `C-h v
1089 data-directory <RET>'.
1090
1091 \1f
1092 File: xemacs-faq.info,  Node: Q1.4.2,  Next: Q1.4.3,  Prev: Q1.4.1,  Up: Introduction
1093
1094 Q1.4.2: Can I use the same `.emacs' with the other Emacs?
1095 ---------------------------------------------------------
1096
1097    Yes.  The sample `.emacs' included in the XEmacs distribution will
1098 show you how to handle different versions and flavors of Emacs.
1099
1100 \1f
1101 File: xemacs-faq.info,  Node: Q1.4.3,  Next: Q1.4.4,  Prev: Q1.4.2,  Up: Introduction
1102
1103 Q1.4.3: Any good tutorials around?
1104 ----------------------------------
1105
1106    There's the XEmacs tutorial available from the Help Menu under
1107 `Basics->Tutorials', or by typing `C-h t'. To check whether it's
1108 available in a non-english language, type `C-u C-h t TAB', type the
1109 first letters of your preferred language, then type <RET>.
1110
1111    There's an Emacs Lisp tutorial at
1112
1113      `ftp://prep.ai.mit.edu/pub/gnu/emacs-lisp-intro-1.04.tar.gz'.
1114
1115    Erik Sundermann <erik@petaxp.rug.ac.be> has made a tutorial web page
1116 at `http://petaxp.rug.ac.be/~erik/xemacs/'.
1117
1118 \1f
1119 File: xemacs-faq.info,  Node: Q1.4.4,  Next: Q1.4.5,  Prev: Q1.4.3,  Up: Introduction
1120
1121 Q1.4.4: May I see an example of a useful XEmacs Lisp function?
1122 --------------------------------------------------------------
1123
1124    The following function does a little bit of everything useful.  It
1125 does something with the prefix argument, it examines the text around the
1126 cursor, and it's interactive so it may be bound to a key.  It inserts
1127 copies of the current word the cursor is sitting on at the cursor.  If
1128 you give it a prefix argument: `C-u 3 M-x double-word' then it will
1129 insert 3 copies.
1130
1131      (defun double-word (count)
1132        "Insert a copy of the current word underneath the cursor"
1133        (interactive "*p")
1134        (let (here there string)
1135          (save-excursion
1136            (forward-word -1)
1137            (setq here (point))
1138            (forward-word 1)
1139            (setq there (point))
1140            (setq string (buffer-substring here there)))
1141          (while (>= count 1)
1142            (insert string)
1143            (decf count))))
1144
1145    The best way to see what is going on here is to let XEmacs tell you.
1146 Put the code into an XEmacs buffer, and do a `C-h f' with the cursor
1147 sitting just to the right of the function you want explained.  Eg.  move
1148 the cursor to the SPACE between `interactive' and `"*p"' and hit `C-h
1149 f' to see what the function `interactive' does.  Doing this will tell
1150 you that the `*' requires a writable buffer, and `p' converts the
1151 prefix argument to a number, and `interactive' allows you to execute
1152 the command with `M-x'.
1153
1154 \1f
1155 File: xemacs-faq.info,  Node: Q1.4.5,  Next: Q1.4.6,  Prev: Q1.4.4,  Up: Introduction
1156
1157 Q1.4.5: And how do I bind it to a key?
1158 --------------------------------------
1159
1160    To bind to a key do:
1161
1162      (global-set-key "\C-cd" 'double-word)
1163
1164    Or interactively, `M-x global-set-key' and follow the prompts.
1165
1166 \1f
1167 File: xemacs-faq.info,  Node: Q1.4.6,  Next: Q1.4.7,  Prev: Q1.4.5,  Up: Introduction
1168
1169 Q1.4.6: What's the difference between a macro and a function?
1170 -------------------------------------------------------------
1171
1172    Quoting from the Lisp Reference (a.k.a "Lispref") Manual:
1173
1174    "Macros" enable you to define new control constructs and other
1175 language features.  A macro is defined much like a function, but instead
1176 of telling how to compute a value, it tells how to compute another Lisp
1177 expression which will in turn compute the value.  We call this
1178 expression the "expansion" of the macro.
1179
1180    Macros can do this because they operate on the unevaluated
1181 expressions for the arguments, not on the argument values as functions
1182 do.  They can therefore construct an expansion containing these
1183 argument expressions or parts of them.
1184
1185    Do not confuse the two terms with "keyboard macros", which are
1186 another matter, entirely.  A keyboard macro is a key bound to several
1187 other keys.  Refer to manual for details.
1188
1189 \1f
1190 File: xemacs-faq.info,  Node: Q1.4.7,  Prev: Q1.4.6,  Up: Introduction
1191
1192 Q1.4.7: How come options saved with 19.13 don't work with 19.14 or later?
1193 -------------------------------------------------------------------------
1194
1195    There's a problem with options of the form:
1196
1197      (add-spec-list-to-specifier (face-property 'searchm-field 'font)
1198                                  '((global (nil))))
1199
1200    saved by a 19.13 XEmacs that causes a 19.14 XEmacs grief.  You must
1201 delete these options.  XEmacs 19.14 and later no longer write the
1202 options directly to `.emacs' which should allow us to deal with version
1203 incompatibilities better in the future.
1204
1205    Options saved under XEmacs 19.13 are protected by code that
1206 specifically requires a version 19 XEmacs.  This won't be a problem
1207 unless you're using XEmacs v20.  You should consider changing the code
1208 to read:
1209
1210      (cond
1211       ((and (string-match "XEmacs" emacs-version)
1212             (boundp 'emacs-major-version)
1213             (or (and (= emacs-major-version 19)
1214                      (>= emacs-minor-version 12))
1215                 (>= emacs-major-version 20)))
1216        ...
1217        ))
1218