1 This is ../info/xemacs-faq.info, produced by makeinfo version 4.6 from
4 INFO-DIR-SECTION XEmacs Editor
6 * FAQ: (xemacs-faq). XEmacs FAQ.
10 File: xemacs-faq.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
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.
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.
23 If you have a Web browser, the official hypertext version is at
24 `http://www.xemacs.org/FAQ/xemacs-faq.html'
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.
38 --- The Detailed Node Listing ---
40 Introduction, Policy, Credits
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?
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?
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?
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?
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?
86 Installation and Trouble Shooting
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)
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!
132 Customization and Options
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'?
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.
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?
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?
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?
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?
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?
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?
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?
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?
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?
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.
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?
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?
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)?
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?
260 * Q4.5.1:: What is/was Energize?
263 * Q4.6.1:: What is Infodock?
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?
274 The Miscellaneous Stuff
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?
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?
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.
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?
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?
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?
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?
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?
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"
368 What the Future Holds
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?
377 New information about old XEmacsen.
380 * Q8.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
383 File: xemacs-faq.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
385 1 Introduction, Policy, Credits
386 *******************************
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
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.
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.
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.
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?
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?
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?
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?
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?
461 File: xemacs-faq.info, Node: Q1.0.1, Next: Q1.0.2, Prev: Introduction, Up: Introduction
466 Q1.0.1: What is XEmacs?
467 -----------------------
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.
483 File: xemacs-faq.info, Node: Q1.0.2, Next: Q1.0.3, Prev: Q1.0.1, Up: Introduction
485 Q1.0.2: What is the current version of XEmacs?
486 ----------------------------------------------
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
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.
497 File: xemacs-faq.info, Node: Q1.0.3, Next: Q1.0.4, Prev: Q1.0.2, Up: Introduction
499 Q1.0.3: Where can I find it?
500 ----------------------------
502 The canonical source and binaries can be found via anonymous FTP at:
504 `ftp://ftp.xemacs.org/pub/xemacs/'
507 File: xemacs-faq.info, Node: Q1.0.4, Next: Q1.0.5, Prev: Q1.0.3, Up: Introduction
509 Q1.0.4: Why Another Version of Emacs?
510 -------------------------------------
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)
516 However, here is a list of some of the reasons why we think you might
521 * The XEmacs maintainers are generally more receptive to suggestions
522 than the GNU Emacs maintainers.
524 * Many more bundled packages than GNU Emacs.
526 * Binaries are available for many common operating systems.
528 * Face support on TTY's.
530 * A built-in toolbar.
532 * Better Motif compliance.
534 * Some internationalization support (including full MULE support, if
537 * Variable-width fonts.
539 * Variable-height lines.
541 * Marginal annotations.
545 * XEmacs can be used as an Xt widget, and can be embedded within
548 * Horizontal and vertical scrollbars (using real toolkit scrollbars).
550 * Better APIs (and performance) for attaching fonts, colors, and
551 other properties to text.
553 * The ability to embed arbitrary graphics in a buffer.
555 * Completely compatible (at the C level) with the Xt-based toolkits.
559 File: xemacs-faq.info, Node: Q1.0.5, Next: Q1.0.6, Prev: Q1.0.4, Up: Introduction
561 Q1.0.5: Why Haven't XEmacs and GNU Emacs Merged?
562 ------------------------------------------------
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.
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>.
575 File: xemacs-faq.info, Node: Q1.0.6, Next: Q1.0.7, Prev: Q1.0.5, Up: Introduction
577 Q1.0.6: Where can I get help?
578 -----------------------------
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.
584 For items not found in the manual, try reading this FAQ and reading
585 the Usenet group comp.emacs.xemacs.
587 If you choose to post to a newsgroup, *please use
588 comp.emacs.xemacs*. Please do not post XEmacs related questions to
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.
601 File: xemacs-faq.info, Node: Q1.0.7, Next: Q1.0.8, Prev: Q1.0.6, Up: Introduction
603 Q1.0.7: Where are the mailing lists archived?
604 ---------------------------------------------
606 The archives can be found at `http://list-archive.xemacs.org'
609 File: xemacs-faq.info, Node: Q1.0.8, Next: Q1.0.9, Prev: Q1.0.7, Up: Introduction
611 Q1.0.8: How do you pronounce XEmacs?
612 ------------------------------------
614 The most common pronounciation is `Eks eemax'.
617 File: xemacs-faq.info, Node: Q1.0.9, Next: Q1.0.10, Prev: Q1.0.8, Up: Introduction
619 Q1.0.9: What does XEmacs look like?
620 -----------------------------------
622 Screen snapshots are available at
623 `http://www.xemacs.org/About/Screenshots/index.html' as part of the
627 File: xemacs-faq.info, Node: Q1.0.10, Next: Q1.0.11, Prev: Q1.0.9, Up: Introduction
629 Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)?
630 ------------------------------------------------------------
632 Yes. XEmacs can be built under MS Windows and is fully-featured and
633 actively developed. See *Note MS Windows::.
636 File: xemacs-faq.info, Node: Q1.0.11, Next: Q1.0.12, Prev: Q1.0.10, Up: Introduction
638 Q1.0.11: Is there a port of XEmacs to the Macintosh?
639 ----------------------------------------------------
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.
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'.
655 File: xemacs-faq.info, Node: Q1.0.12, Next: Q1.0.13, Prev: Q1.0.11, Up: Introduction
657 Q1.0.12: Is there a port of XEmacs to NextStep?
658 -----------------------------------------------
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.
665 File: xemacs-faq.info, Node: Q1.0.13, Next: Q1.0.14, Prev: Q1.0.12, Up: Introduction
667 Q1.0.13: Is there a port of XEmacs to OS/2?
668 -------------------------------------------
670 No, but Alexander Nikolaev <avn_1251@mail.ru> is working on it.
673 File: xemacs-faq.info, Node: Q1.0.14, Next: Q1.1.1, Prev: Q1.0.13, Up: Introduction
675 Q1.0.14: Where can I obtain a printed copy of the XEmacs User's Manual?
676 -----------------------------------------------------------------------
678 Pre-printed manuals are not available. If you are familiar with TeX,
679 you can generate your own manual from the XEmacs sources.
681 HTML and Postscript versions of XEmacs manuals are available from the
682 XEmacs web site at `http://www.xemacs.org/Documentation/index.html'.
685 File: xemacs-faq.info, Node: Q1.1.1, Next: Q1.1.2, Prev: Q1.0.14, Up: Introduction
690 Q1.1.1: What is the FAQ editorial policy?
691 -----------------------------------------
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
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.
709 File: xemacs-faq.info, Node: Q1.1.2, Next: Q1.1.3, Prev: Q1.1.1, Up: Introduction
711 Q1.1.2: How do I become a Beta Tester?
712 --------------------------------------
714 Send an email message to <xemacs-beta-request@xemacs.org> with the line
715 `subscribe' in the body of the message.
717 Be prepared to get your hands dirty, as beta testers are expected to
718 identify problems as best they can.
721 File: xemacs-faq.info, Node: Q1.1.3, Next: Q1.2.1, Prev: Q1.1.2, Up: Introduction
723 Q1.1.3: How do I contribute to XEmacs itself?
724 ---------------------------------------------
726 Ben Wing <ben@xemacs.org> writes:
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
733 * Make a posting about a feature you want added.
735 * Become a beta tester and make more postings about those same
738 * Convince us that you're going to use the features in some
741 * Come up with a clear and well-thought-out API concerning the
744 * Write the code to implement a feature and send us a patch.
746 (not that we're necessarily requiring you to write the code, but
747 we can always hope :)
750 File: xemacs-faq.info, Node: Q1.2.1, Next: Q1.2.2, Prev: Q1.1.3, Up: Introduction
755 Q1.2.1: Who wrote XEmacs?
756 -------------------------
758 XEmacs is the result of the time and effort of many people. The
759 developers responsible for recent releases are:
761 * Martin Buchholz <martin@xemacs.org>
763 * Stephen Turnbull <stephen@xemacs.org>
765 * Ben Wing <ben@xemacs.org>
767 * Hrvoje Niksic <hniksic@xemacs.org>
770 The developers responsible for older releases were:
772 * Steve Baur <steve@xemacs.org>
774 * Chuck Thompson <cthomp@xemacs.org>
776 * Jamie Zawinski <jwz@jwz.org>
778 * Richard Mlynarik <mly@adoc.xerox.com>
780 Steve Baur was the primary maintainer for 19.15 through 21.0.
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.
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.
790 Along with many other contributors, partially enumerated in the
791 `About XEmacs' option in the Help menu.
794 File: xemacs-faq.info, Node: Q1.2.2, Next: Q1.2.3, Prev: Q1.2.1, Up: Introduction
796 Q1.2.2: Who contributed to this version of the FAQ?
797 ---------------------------------------------------
799 The following people contributed valuable suggestions to building this
800 version of the FAQ (listed in alphabetical order):
802 * SL Baur <steve@xemacs.org>
804 * Hrvoje Niksic <hniksic@xemacs.org>
806 * Aki Vehtari <Aki.Vehtari@hut.fi>
810 File: xemacs-faq.info, Node: Q1.2.3, Next: Q1.3.1, Prev: Q1.2.2, Up: Introduction
812 Q1.2.3: Who contributed to the FAQ in the past?
813 -----------------------------------------------
815 This is only a partial list, as many names were lost in a hard disk
818 * Curtis.N.Bingham <binge@aloft.att.com>
820 * Georges Brun-Cottan <bruncott@dormeur.inria.fr>
822 * Richard Caley <rjc@cogsci.ed.ac.uk>
824 * Richard Cognot <cognot@ensg.u-nancy.fr>
826 * Mark Daku <daku@nortel.ca>
828 * William G. Dubuque <wgd@martigny.ai.mit.edu>
830 * Eric Eide <eeide@cs.utah.edu>
832 * Alain Fauconnet <af@biomath.jussieu.fr>
834 * Chris Flatters <cflatter@nrao.edu>
836 * Evelyn Ginsparg <ginsparg@adra.com>
838 * Marty Hall <hall@aplcenmp.apl.jhu.edu>
840 * Darrell Kindred <dkindred@cmu.edu>
842 * David Moore <dmoore@ucsd.edu>
844 * Arup Mukherjee <arup+@cmu.edu>
846 * Juergen Nickelsen <nickel@prz.tu-berlin.de>
848 * Kevin R. Powell <powell@csl.ncsa.uiuc.edu>
850 * Justin Sheehy <dworkin@ccs.neu.edu>
852 * Stig <stig@hackvan.com>
854 * Aki Vehtari <Aki.Vehtari@hut.fi>
857 File: xemacs-faq.info, Node: Q1.3.1, Next: Q1.3.2, Prev: Q1.2.3, Up: Introduction
859 1.3: Internationalization
860 =========================
862 Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support?
863 ------------------------------------------------------------------------------------------------------
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.
874 File: xemacs-faq.info, Node: Q1.3.2, Next: Q1.3.3, Prev: Q1.3.1, Up: Introduction
876 Q1.3.2: How can I help with internationalization?
877 -------------------------------------------------
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.
884 Translations of the TUTORIAL and man page are welcome, and XEmacs
885 does support multilingual menus, but we have few current translations.
890 File: xemacs-faq.info, Node: Q1.3.3, Next: Q1.3.4, Prev: Q1.3.2, Up: Introduction
892 Q1.3.3: How do I type non-ASCII characters?
893 -------------------------------------------
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::.
901 *Note Q3.2.7::, which covers display of non-ASCII characters.
904 File: xemacs-faq.info, Node: Q1.3.4, Next: Q1.3.5, Prev: Q1.3.3, Up: Introduction
906 Q1.3.4: Can XEmacs messages come out in a different language?
907 -------------------------------------------------------------
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
913 However, menubar localization _does_ work. To enable it, add to
914 your `Emacs' file entries like this:
916 Emacs*XlwMenu.resourceLabels: True
917 Emacs*XlwMenu.file.labelString: Fichier
918 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen
920 The name of the resource is derived from the non-localized entry by
921 removing punctuation and capitalizing as above.
924 File: xemacs-faq.info, Node: Q1.3.5, Next: Q1.3.6, Prev: Q1.3.4, Up: Introduction
926 Q1.3.5: Please explain the various input methods in MULE/XEmacs
927 ---------------------------------------------------------------
929 Mule supports a wide variety of input methods. There are three basic
930 classes: Lisp implementations, generic platform support, and library
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
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.
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.
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.
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.
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.
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.
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).
995 SJ3, by Sony, supports only Japanese.
997 Egg consists of following parts:
999 1. Input character Translation System (ITS) layer. It translates
1000 ASCII inputs to Kana/PinYin/Hangul characters.
1002 2. Kana/PinYin/Hangul to Kanji transfer layer. The interface layer
1003 to network Kana-Kanji server (Wnn and Sj3).
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.
1012 Much of this information was provided by MORIOKA Tomohiko
1013 <morioka@jaist.ac.jp>.
1016 File: xemacs-faq.info, Node: Q1.3.6, Next: Q1.3.7, Prev: Q1.3.5, Up: Introduction
1018 Q1.3.6: How do I portably code for MULE/XEmacs?
1019 -----------------------------------------------
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.
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.
1033 MORIOKA Tomohiko <morioka@jaist.ac.jp> writes:
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
1041 MULE and the next version of Emacs are similar but the symbols are
1042 very different--requiring separate code as well.
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. -
1051 I have the following suggestions about dealing with mule variants:
1053 * `(featurep 'mule)' `t' on all mule variants
1055 * `(boundp 'MULE)' is `t' on only MULE. Maybe the next version
1056 of Emacs will not have this symbol.
1058 * MULE has a variable `mule-version'. Perhaps the next version
1059 of Emacs will have this variable as well.
1061 Following is a sample to distinguish mule variants:
1063 (if (featurep 'mule)
1064 (cond ((boundp 'MULE)
1065 ;; for original Mule
1067 ((string-match "XEmacs" emacs-version)
1068 ;; for XEmacs with Mule
1071 ;; for next version of Emacs
1073 ;; for old emacs variants
1077 File: xemacs-faq.info, Node: Q1.3.7, Next: Q1.3.8, Prev: Q1.3.6, Up: Introduction
1079 Q1.3.7: How about Cyrillic Modes?
1080 ---------------------------------
1082 Ilya Zakharevich <ilya@math.ohio-state.edu> writes:
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
1089 `http://www.math.uga.edu/~valery/russian.el'.
1091 Dima Barsky <d.barsky@ee.surrey.ac.uk> writes:
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'.
1097 Rebecca Ore <rebecca.ore@op.net> writes:
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'
1103 File: xemacs-faq.info, Node: Q1.3.8, Next: Q1.3.9, Prev: Q1.3.7, Up: Introduction
1105 Q1.3.8: Does XEmacs support Unicode?
1106 ------------------------------------
1108 Partially, as an external encoding for files, processes, and terminals.
1109 It does not yet support Unicode fonts *Note Does XEmacs support Unicode
1112 To get Unicode support, you need a Mule-enabled XEmacs. Install
1113 Mule-UCS from packages in the usual way. Put
1115 (require 'un-define)
1116 (set-coding-priority-list '(utf-8))
1117 (set-coding-category-system 'utf-8 'utf-8)
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.
1123 Install standard national fonts (not Unicode fonts) for all
1124 character sets you use. See *Note Q1.3.9::.
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).
1130 File: xemacs-faq.info, Node: Q1.3.9, Next: Q1.4.1, Prev: Q1.3.8, Up: Introduction
1132 Q1.3.9: How does XEmacs display Unicode?
1133 ----------------------------------------
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.
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'.
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
1153 Real Unicode support will be introduced in XEmacs 22.0.
1156 File: xemacs-faq.info, Node: Q1.4.1, Next: Q1.4.2, Prev: Q1.3.9, Up: Introduction
1158 1.4: Getting Started, Backing up & Recovery
1159 ===========================================
1161 Q1.4.1: What is an `init.el' or `.emacs' and is there a sample one?
1162 -------------------------------------------------------------------
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'.
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
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>'.
1191 File: xemacs-faq.info, Node: Q1.4.2, Next: Q1.4.3, Prev: Q1.4.1, Up: Introduction
1193 Q1.4.2: Can I use the same `init.el'/`.emacs' with the other Emacs?
1194 -------------------------------------------------------------------
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.
1200 File: xemacs-faq.info, Node: Q1.4.3, Next: Q1.4.4, Prev: Q1.4.2, Up: Introduction
1202 Q1.4.3: Any good tutorials around?
1203 ----------------------------------
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>.
1211 File: xemacs-faq.info, Node: Q1.4.4, Next: Q1.4.5, Prev: Q1.4.3, Up: Introduction
1213 Q1.4.4: May I see an example of a useful XEmacs Lisp function?
1214 --------------------------------------------------------------
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
1223 (defun double-word (count)
1224 "Insert a copy of the current word underneath the cursor"
1226 (let (here there string)
1231 (setq there (point))
1232 (setq string (buffer-substring here there)))
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'.
1247 File: xemacs-faq.info, Node: Q1.4.5, Next: Q1.4.6, Prev: Q1.4.4, Up: Introduction
1249 Q1.4.5: And how do I bind it to a key?
1250 --------------------------------------
1252 To bind to a key do:
1254 (global-set-key "\C-cd" 'double-word)
1256 Or interactively, `M-x global-set-key' and follow the prompts.
1259 File: xemacs-faq.info, Node: Q1.4.6, Prev: Q1.4.5, Up: Introduction
1261 Q1.4.6: What's the difference between a macro and a function?
1262 -------------------------------------------------------------
1264 Quoting from the Lisp Reference (a.k.a "Lispref") Manual:
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.
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.
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.
1282 File: xemacs-faq.info, Node: Installation, Next: Customization, Prev: Introduction, Up: Top
1284 2 Installation and Trouble Shooting
1285 ***********************************
1287 This is part 2 of the XEmacs Frequently Asked Questions list. This
1288 section is devoted to Installation, Maintenance and Trouble Shooting.
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)
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!
1338 File: xemacs-faq.info, Node: Q2.0.1, Next: Q2.0.2, Prev: Installation, Up: Installation
1343 Q2.0.1: Running XEmacs without installing
1344 -----------------------------------------
1346 How can I just try XEmacs without installing it?
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.
1353 A good method is to make a shell alias for xemacs:
1355 alias xemacs=/i/xemacs-20.2/src/xemacs
1357 (You will obviously use whatever directory you downloaded the source
1358 tree to instead of `/i/xemacs-20.2').
1360 This will let you run XEmacs without massive copying.
1363 File: xemacs-faq.info, Node: Q2.0.2, Next: Q2.0.3, Prev: Q2.0.1, Up: Installation
1365 Q2.0.2: XEmacs is too big
1366 -------------------------
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
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.
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.
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
1393 Another method is to do `M-x package-get-delete-package'.
1396 File: xemacs-faq.info, Node: Q2.0.3, Next: Q2.0.4, Prev: Q2.0.2, Up: Installation
1398 Q2.0.3: Compiling XEmacs with Netaudio.
1399 ---------------------------------------
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?
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:
1411 --site-libraries=WHATEVER
1412 --site-includes=WHATEVER
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).
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/'.
1426 File: xemacs-faq.info, Node: Q2.0.4, Next: Q2.0.5, Prev: Q2.0.3, Up: Installation
1428 Q2.0.4: Problems with Linux and ncurses.
1429 ----------------------------------------
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:
1435 Initialization error:
1436 Terminal type `xterm' undefined (or can't access database?)
1438 Ben Wing <ben@xemacs.org> writes:
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.
1444 File: xemacs-faq.info, Node: Q2.0.5, Next: Q2.0.6, Prev: Q2.0.4, Up: Installation
1446 Q2.0.5: Do I need X11 to run XEmacs?
1447 ------------------------------------
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.
1454 File: xemacs-faq.info, Node: Q2.0.6, Next: Q2.0.7, Prev: Q2.0.5, Up: Installation
1456 Q2.0.6: I'm having strange crashes. What do I do?
1457 --------------------------------------------------
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.
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.
1469 File: xemacs-faq.info, Node: Q2.0.7, Next: Q2.0.8, Prev: Q2.0.6, Up: Installation
1471 Q2.0.7: Libraries in non-standard locations
1472 -------------------------------------------
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
1478 --site-libraries='/path/one /path/two /path/etc'
1481 File: xemacs-faq.info, Node: Q2.0.8, Next: Q2.0.9, Prev: Q2.0.7, Up: Installation
1483 Q2.0.8: can't resolve symbol _h_errno
1484 -------------------------------------
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:
1489 1. Upgrade your libc to at least 5.2.16 (better is 5.2.18, 5.3.12, or
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.
1496 3. Rebuild XEmacs yourself--any working ELF version of libc should be
1499 Hrvoje Niksic <hniksic@xemacs.org> writes:
1501 Why not use a Perl one-liner for No. 2?
1503 perl -pi -e 's/_h_errno\0/h_errno\0\0/g' \
1504 /usr/local/bin/xemacs-19.14
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
1511 SL Baur <steve@xemacs.org> writes:
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
1518 xemacs: can't resolve symbol '__malloc_hook'
1519 zsh: 7942 segmentation fault (core dumped) xemacs
1521 (Example binary compiled against libc-5.4.23 and run with
1524 The solution is to upgrade to at least libc-5.4.23. Sigh. Drat.
1527 File: xemacs-faq.info, Node: Q2.0.9, Next: Q2.0.10, Prev: Q2.0.8, Up: Installation
1529 Q2.0.9: Where do I find external libraries?
1530 -------------------------------------------
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.
1538 The canonical locations (at the time of this writing) are as follows:
1541 `ftp://ftp.uu.net/graphics/jpeg/'. Version 6a is current.
1544 `ftp://ftp.x.org/contrib/libraries/'. Version 3.4j is current.
1545 Older versions of this package are known to cause XEmacs crashes.
1548 `ftp://ftp.sgi.com/graphics/tiff/'. v3.4 is current. The latest
1549 beta is v3.4b035. There is a HOWTO here.
1552 `ftp://ftp.uu.net/graphics/png/'. 0.89c is current. XEmacs
1553 requires a fairly recent version to avoid using temporary files.
1555 `ftp://swrinde.nde.swri.edu/pub/png/src/'
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
1567 `ftp://ftp.x.org/contrib/audio/nas/'. Version 1.2p5 is current.
1568 There is a FAQ here.
1571 File: xemacs-faq.info, Node: Q2.0.10, Next: Q2.0.11, Prev: Q2.0.9, Up: Installation
1573 Q2.0.10: After I run configure I find a core dump, is something wrong?
1574 ----------------------------------------------------------------------
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:
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.
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.
1587 It has also been observed that the vfork test on Solaris will leave a
1591 File: xemacs-faq.info, Node: Q2.0.11, Next: Q2.0.12, Prev: Q2.0.10, Up: Installation
1593 Q2.0.11: XEmacs doesn't resolve hostnames.
1594 ------------------------------------------
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.
1599 Christopher Davis <ckd@loiosh.kei.com> writes:
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
1607 This is also why Netscape ships two binaries for SunOS 4.1.x.
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.
1614 File: xemacs-faq.info, Node: Q2.0.12, Next: Q2.0.13, Prev: Q2.0.11, Up: Installation
1616 Q2.0.12: Why can't I strip XEmacs?
1617 ----------------------------------
1619 Richard Cognot <cognot@fronsac.ensg.u-nancy.fr> writes:
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.
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.
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
1639 Nat Makarevitch <nat@nataa.fr.eu.org> writes:
1643 1. [ ./configure; make ]
1651 5. cp src/xemacs /usr/local/bin/xemacs
1653 6. cp lib-src/DOC-19.16-XEmacs
1654 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
1657 File: xemacs-faq.info, Node: Q2.0.13, Next: Q2.0.14, Prev: Q2.0.12, Up: Installation
1659 Q2.0.13: I don't need no steenkin' packages. Do I?
1660 ---------------------------------------------------
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_.
1668 File: xemacs-faq.info, Node: Q2.0.14, Next: Q2.0.15, Prev: Q2.0.13, Up: Installation
1670 Q2.0.14: How do I figure out which packages to install?
1671 -------------------------------------------------------
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
1677 `xemacs-sumo.tar.gz'
1679 For an XEmacs compiled with Mule you also need
1681 `xemacs-mule-sumo.tar.gz'
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.
1689 `cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xf -'
1691 See README.packages for more detailed installation instructions.
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.
1698 File: xemacs-faq.info, Node: Q2.0.15, Next: Q2.0.16, Prev: Q2.0.14, Up: Installation
1700 Q2.0.15: EFS fails with "500 AUTH not understood" (NEW)
1701 -------------------------------------------------------
1703 A typical error: FTP Error: USER request failed; 500 AUTH not
1706 Thanks to giacomo boffi <giacomo.boffi@polimi.it> who recommends on
1709 tell your ftp client to not attempt AUTH authentication (or do not
1710 use FTP servers that don't understand AUTH)
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.
1717 File: xemacs-faq.info, Node: Q2.0.16, Next: Q2.1.1, Prev: Q2.0.15, Up: Installation
1719 Q2.0.16: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
1720 -----------------------------------------------------------------------
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
1726 This application has failed to start because cygXpm-noX4.dll was not
1727 found. Re-installing the application may fix this problem.
1729 Andy Piper <andy@xemacs.org> sez:
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.
1735 Ie, reinstalling XEmacs won't help because it is not part of the
1736 XEmacs distribution.
1739 File: xemacs-faq.info, Node: Q2.1.1, Next: Q2.1.2, Prev: Q2.0.16, Up: Installation
1741 2.1: Trouble Shooting
1742 =====================
1744 Q2.1.1: Help! XEmacs just crashed on me!
1745 -----------------------------------------
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.
1755 You can use the command `M-x recover-session' after a crash to pick
1756 up where you left off.
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
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:
1785 gdb `which xemacs` core
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
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.
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.)
1804 When making a problem report make sure that:
1806 1. Report *all* of the information output by XEmacs during the crash.
1808 2. You mention what O/S & Hardware you are running XEmacs on.
1810 3. What version of XEmacs you are running.
1812 4. What build options you are using.
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.
1818 6. If the problem happened on a TTY, please include the terminal type.
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
1827 File: xemacs-faq.info, Node: Q2.1.2, Next: Q2.1.3, Prev: Q2.1.1, Up: Installation
1829 Q2.1.2: Cryptic Minibuffer messages.
1830 ------------------------------------
1832 When I try to use some particular option of some particular package, I
1833 get a cryptic error in the minibuffer.
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:
1844 1. Visit the .el file in an XEmacs buffer.
1846 2. Issue the command `M-x eval-current-buffer'.
1848 3. Reproduce the error.
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.
1857 File: xemacs-faq.info, Node: Q2.1.3, Next: Q2.1.4, Prev: Q2.1.2, Up: Installation
1859 Q2.1.3: Translation Table Syntax messages at Startup
1860 ----------------------------------------------------
1862 I get tons of translation table syntax error messages during startup.
1863 How do I get rid of them?
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
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'.
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
1885 File: xemacs-faq.info, Node: Q2.1.4, Next: Q2.1.5, Prev: Q2.1.3, Up: Installation
1887 Q2.1.4: Startup warnings about deducing proper fonts?
1888 -----------------------------------------------------
1890 How can I avoid the startup warnings about deducing proper fonts?
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:
1895 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
1897 More precisely, do the following in your resource file:
1899 Emacs.default.attributeFont: \
1900 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
1902 If you just don't want to see the `*Warnings*' buffer at startup
1903 time, you can set this:
1905 (setq display-warning-minimum-level 'error)
1907 The buffer still exists; it just isn't in your face.
1910 File: xemacs-faq.info, Node: Q2.1.5, Next: Q2.1.6, Prev: Q2.1.4, Up: Installation
1912 Q2.1.5: XEmacs cannot connect to my X Terminal!
1913 -----------------------------------------------
1915 Help! I can not get XEmacs to display on my Envizex X-terminal!
1917 Try setting the `DISPLAY' variable using the numeric IP address of
1918 the host you are running XEmacs from.
1921 File: xemacs-faq.info, Node: Q2.1.6, Next: Q2.1.7, Prev: Q2.1.5, Up: Installation
1923 Q2.1.6: XEmacs just locked up my Linux X server!
1924 ------------------------------------------------
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'.
1930 It is possible that using a font server may also solve the problem.
1933 File: xemacs-faq.info, Node: Q2.1.7, Next: Q2.1.8, Prev: Q2.1.6, Up: Installation
1935 Q2.1.7: HP Alt key as Meta.
1936 ---------------------------
1938 How can I make XEmacs recognize the Alt key of my HP workstation as a
1941 Put the following line into a file and load it with xmodmap(1) before
1944 remove Mod1 = Mode_switch
1947 File: xemacs-faq.info, Node: Q2.1.8, Next: Q2.1.9, Prev: Q2.1.7, Up: Installation
1949 Q2.1.8: got (wrong-type-argument color-instance-p nil)
1950 ------------------------------------------------------
1952 Natalie Kershaw <nataliek@rd.scitec.com.au> writes:
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.
1959 (error "got (wrong-type-argument color-instance-p nil)
1960 and I don't know why!")
1962 dinos <map01kd@gold.ac.uk> writes:
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:
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.
1973 Natalie Kershaw adds:
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:
1979 xemacs*cursorColor: black
1980 xemacs*pointerColor: black
1982 With the new colors installed the problem still occurs if the above
1983 resources are not defined.
1985 If the new colors are not present then an additional error occurs
1986 on XEmacs startup, which says `Color Red3' not defined.
1989 File: xemacs-faq.info, Node: Q2.1.9, Next: Q2.1.10, Prev: Q2.1.8, Up: Installation
1991 Q2.1.9: XEmacs causes my OpenWindows 3.0 server to crash.
1992 ---------------------------------------------------------
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
2000 File: xemacs-faq.info, Node: Q2.1.10, Next: Q2.1.11, Prev: Q2.1.9, Up: Installation
2002 Q2.1.10: Warnings from incorrect key modifiers.
2003 -----------------------------------------------
2005 The following information comes from the `PROBLEMS' file that comes
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.
2013 xmodmap 2> /dev/null - << EOF
2014 keysym Alt_L = Meta_L
2015 keysym Alt_R = Meta_R
2020 keysym Mode_switch = NoSymbol
2022 keysym Meta_R = Mode_switch
2023 add mod2 = Mode_switch
2027 File: xemacs-faq.info, Node: Q2.1.11, Next: Q2.1.12, Prev: Q2.1.10, Up: Installation
2029 Q2.1.11: `Can't instantiate image error...' in toolbar
2030 ------------------------------------------------------
2032 Dr. Ram Samudrala <expt@alanine.ram.org> writes:
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:
2038 Can't instantiate image (probably cached):
2039 [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
2040 (16 16 <strange control characters> ...
2042 Kyle Jones <kyle_jones@wonderworks.com> writes:
2044 This is problem specific to some Chips and Technologies video
2045 chips, when running XFree86. Putting
2047 `Option "sw_cursor"'
2049 in `XF86Config' gets rid of the problem.
2052 File: xemacs-faq.info, Node: Q2.1.12, Next: Q2.1.13, Prev: Q2.1.11, Up: Installation
2054 Q2.1.12: Problems with Regular Expressions on DEC OSF1.
2055 -------------------------------------------------------
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
2062 Douglas Kosovic <douglask@dstc.edu.au> writes:
2064 Actually it's a DEC cc optimization bug that screws up the regexp
2067 Rebuilding using the `-migrate' switch for DEC cc (which uses a
2068 different sort of optimization) works fine.
2070 See `xemacs-19_13-dunix-3_2c.patch' at the following URL on how to
2071 build with the `-migrate' flag:
2073 `http://www-digital.cern.ch/carney/emacs/emacs.html'
2075 NOTE: There have been a variety of other problems reported that are
2076 fixed in this fashion.
2079 File: xemacs-faq.info, Node: Q2.1.13, Next: Q2.1.14, Prev: Q2.1.12, Up: Installation
2081 Q2.1.13: HP/UX 10.10 and `create_process' failure.
2082 --------------------------------------------------
2084 Dave Carrigan <Dave.Carrigan@ipl.ca> writes:
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).
2090 Phil Johnson <johnson@dtc.hp.com> writes:
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').
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.
2100 Richard Cognot <cognot@ensg.u-nancy.fr> writes:
2102 I had a few problems with 10.10. Apparently, some of them were
2103 solved by forcing a static link of libc (manually).
2106 File: xemacs-faq.info, Node: Q2.1.14, Next: Q2.1.15, Prev: Q2.1.13, Up: Installation
2108 Q2.1.14: `C-g' doesn't work for me. Is it broken?
2109 --------------------------------------------------
2111 Ben Wing <ben@xemacs.org> writes:
2113 `C-g' does work for most people in most circumstances. If it
2114 doesn't, there are only two explanations:
2116 1. The code is wrapped with a binding of `inhibit-quit' to `t'.
2117 `Ctrl-Shift-G' should still work, I think.
2119 2. SIGIO is broken on your system, but BROKEN_SIGIO isn't
2122 To test #2, try executing `(while t)' from the `*scratch*' buffer.
2123 If `C-g' doesn't interrupt, then you're seeing #2.
2125 Morten Welinder <terra@diku.dk> writes:
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.
2135 File: xemacs-faq.info, Node: Q2.1.15, Next: Q2.1.16, Prev: Q2.1.14, Up: Installation
2137 Q2.1.15: How to debug an XEmacs problem with a debugger
2138 -------------------------------------------------------
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:
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.
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
2162 * If you're able to run XEmacs under a debugger and reproduce the
2163 crash, here are some things you can do:
2165 * If XEmacs is hitting an assertion failure, put a breakpoint on
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.
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.
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:
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.
2187 * If you want to get a Lisp backtrace showing the Lisp call stack,
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.
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
2205 Usage: pobj lisp_object
2206 Print the internal C representation of a lisp object.
2209 Usage: xtype lisp_object
2210 Print the Lisp type of a lisp object.
2214 Print the current Lisp stack trace. Requires a running
2215 xemacs process. (It works by calling the db routine
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
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.
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.
2238 Run the test suite. Equivalent to 'make check'.
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.
2247 If you are using Sun's `dbx' debugger, there is an equivalent file
2248 `src/.dbxrc', which defines the same commands for dbx.
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.
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.
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:
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
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.
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.
2291 d. You will get a Lisp backtrace output when XEmacs crashes, so
2292 you'll have something useful.
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.
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.
2303 * If you are running Microsoft Windows, the the file `nt/README' for
2304 further information about debugging XEmacs.
2308 File: xemacs-faq.info, Node: Q2.1.16, Next: Q2.1.17, Prev: Q2.1.15, Up: Installation
2310 Q2.1.16: XEmacs crashes in `strcat' on HP/UX 10
2311 -----------------------------------------------
2313 From the problems database (through the former address
2314 http://support.mayfield.hp.com/):
2316 Problem Report: 5003302299
2319 System/Model: 9000/700
2320 Product Name: HPUX S800 10.0X
2321 Product Vers: 9245XB.10.00
2323 Description: strcat(3C) may read beyond
2324 end of source string, can cause SIGSEGV
2327 *** PROBLEM TEXT ***
2328 strcat(3C) may read beyond the source string onto an unmapped page,
2329 causing a segmentation violation.
2332 File: xemacs-faq.info, Node: Q2.1.17, Next: Q2.1.18, Prev: Q2.1.16, Up: Installation
2334 Q2.1.17: `Marker does not point anywhere'
2335 -----------------------------------------
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
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
2345 2. A problem with some early versions of Gnus 5.4 caused this error.
2349 File: xemacs-faq.info, Node: Q2.1.18, Next: Q2.1.19, Prev: Q2.1.17, Up: Installation
2351 Q2.1.18: XEmacs is outputting lots of X errors.
2352 -----------------------------------------------
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>.
2359 File: xemacs-faq.info, Node: Q2.1.19, Next: Q2.1.20, Prev: Q2.1.18, Up: Installation
2361 Q2.1.19: XEmacs does not follow the local timezone.
2362 ---------------------------------------------------
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:
2368 (set-time-zone-rule "MET")
2370 to your `init.el'/`.emacs' or the `site-start.el' file if you can.
2371 Replace `MET' with your local timezone.
2374 File: xemacs-faq.info, Node: Q2.1.20, Next: Q2.1.21, Prev: Q2.1.19, Up: Installation
2376 Q2.1.20: `Symbol's function definition is void: hkey-help-show.'
2377 ----------------------------------------------------------------
2379 This is a problem with a partially loaded hyperbole. Try adding:
2381 (require 'hmouse-drv)
2383 where you load hyperbole and the problem should go away.
2386 File: xemacs-faq.info, Node: Q2.1.21, Next: Q2.1.22, Prev: Q2.1.20, Up: Installation
2388 Q2.1.21: [This question intentionally left blank]
2389 -------------------------------------------------
2392 File: xemacs-faq.info, Node: Q2.1.22, Next: Q2.1.23, Prev: Q2.1.21, Up: Installation
2394 Q2.1.22: XEmacs seems to take a really long time to do some things
2395 ------------------------------------------------------------------
2397 David Moore <dmoore@ucsd.edu> writes:
2399 Two things you can do:
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:
2407 gdb /path/to/xemacs/xemacs ####
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
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.
2423 debug-on-quit doesn't work if something's turned on inhibit-quit
2424 or in some other strange cases.
2427 File: xemacs-faq.info, Node: Q2.1.23, Next: Q2.1.24, Prev: Q2.1.22, Up: Installation
2429 Q2.1.23: Movemail on Linux does not work for XEmacs 19.15 and later.
2430 ---------------------------------------------------------------------
2432 Movemail used to work fine in 19.14 but has stopped working in 19.15
2433 and 20.x. I am using Linux.
2435 SL Baur <steve@xemacs.org> writes:
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:
2442 #define MAIL_USE_FLOCK
2445 File: xemacs-faq.info, Node: Q2.1.24, Next: Q2.1.25, Prev: Q2.1.23, Up: Installation
2447 Q2.1.24: XEmacs won't start without network.
2448 ---------------------------------------------
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:
2456 Add that line, and XEmacs will be happy.
2459 File: xemacs-faq.info, Node: Q2.1.25, Prev: Q2.1.24, Up: Installation
2461 Q2.1.25:: After upgrading, XEmacs won't do `foo' any more!
2462 -----------------------------------------------------------
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::).
2472 File: xemacs-faq.info, Node: Customization, Next: Subsystems, Prev: Installation, Up: Top
2474 3 Customization and Options
2475 ***************************
2477 This is part 3 of the XEmacs Frequently Asked Questions list. This
2478 section is devoted to Customization and screen settings.
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'?
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.
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?
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?
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?
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?
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?
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?
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?
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?
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?
2573 File: xemacs-faq.info, Node: Q3.0.1, Next: Q3.0.2, Prev: Customization, Up: Customization
2575 3.0: Customization - Emacs Lisp and `init.el'/`.emacs'
2576 ======================================================
2578 Q3.0.1: What version of Emacs am I running?
2579 -------------------------------------------
2581 How can `init.el'/`.emacs' determine which of the family of Emacsen I
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!
2589 For all new code, all you really need to do is:
2591 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
2594 File: xemacs-faq.info, Node: Q3.0.2, Next: Q3.0.3, Prev: Q3.0.1, Up: Customization
2596 Q3.0.2: How can I evaluate Emacs-Lisp expressions?
2597 --------------------------------------------------
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?
2602 Press `M-:' (the default binding of `eval-expression'), and enter
2603 the expression to the minibuffer.
2606 File: xemacs-faq.info, Node: Q3.0.3, Next: Q3.0.4, Prev: Q3.0.2, Up: Customization
2608 Q3.0.3: `(setq tab-width 6)' behaves oddly.
2609 -------------------------------------------
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.
2615 Use `setq-default' instead, since `tab-width' is all-buffer-local.
2618 File: xemacs-faq.info, Node: Q3.0.4, Next: Q3.0.5, Prev: Q3.0.3, Up: Customization
2620 Q3.0.4: How can I add directories to the `load-path'?
2621 -----------------------------------------------------
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:
2626 ;;; Add things at the beginning of the load-path, do not add
2627 ;;; duplicate directories:
2628 (pushnew "bar" load-path :test 'equal)
2630 (pushnew "foo" load-path :test 'equal)
2632 ;;; Add things at the end, unconditionally
2633 (setq load-path (nconc load-path '("foo" "bar")))
2635 keith (k.p.) hanlan <keithh@nortel.ca> writes:
2637 To add directories using Unix shell metacharacters use
2638 `expand-file-name' like this:
2640 (push (expand-file-name "~keithh/.emacsdir") load-path)
2643 File: xemacs-faq.info, Node: Q3.0.5, Next: Q3.0.6, Prev: Q3.0.4, Up: Customization
2645 Q3.0.5: How to check if a lisp function is defined?
2646 ---------------------------------------------------
2648 Use the following elisp:
2652 It's almost always a mistake to test `emacs-version' or any similar
2655 Instead, use feature-tests, such as `featurep', `boundp', `fboundp',
2656 or even simple behavioral tests, eg.:
2658 (defvar foo-old-losing-code-p
2659 (condition-case nil (progn (losing-code t) nil)
2660 (wrong-number-of-arguments t)))
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.
2667 File: xemacs-faq.info, Node: Q3.0.6, Next: Q3.0.7, Prev: Q3.0.5, Up: Customization
2669 Q3.0.6: Can I force the output of `(face-list)' to a buffer?
2670 ------------------------------------------------------------
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.
2675 Evaluate the expression in the `*scratch*' buffer with point after
2676 the rightmost paren and typing `C-j'.
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
2683 File: xemacs-faq.info, Node: Q3.0.7, Next: Q3.0.8, Prev: Q3.0.6, Up: Customization
2685 Q3.0.7: Font selections in don't get saved after `Save Options'.
2686 ----------------------------------------------------------------
2688 John Mann <mannj@ll.mit.edu> writes:
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.
2695 Also, set the following in your `init.el'/`.emacs':
2697 (setq options-save-faces t)
2700 File: xemacs-faq.info, Node: Q3.0.8, Next: Q3.0.9, Prev: Q3.0.7, Up: Customization
2702 Q3.0.8: How do I get a single minibuffer frame?
2703 -----------------------------------------------
2705 Vin Shelton <acs@acm.org> writes:
2707 (setq initial-frame-plist '(minibuffer nil))
2708 (setq default-frame-plist '(minibuffer nil))
2709 (setq default-minibuffer-frame
2714 menubar-visible-p nil
2715 default-toolbar-visible-p nil
2719 has-modeline-p nil)))
2720 (frame-notice-user-settings)
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.
2727 File: xemacs-faq.info, Node: Q3.0.9, Next: Q3.1.1, Prev: Q3.0.8, Up: Customization
2729 Q3.0.9: What is `Customize'?
2730 ----------------------------
2732 Starting with XEmacs 20.2 there is new system 'Customize' for
2733 customizing XEmacs options.
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'.
2739 Starting with XEmacs 20.3 there is also new `browser' mode for
2740 Customize. Try it out with `M-x customize-browse'
2743 File: xemacs-faq.info, Node: Q3.1.1, Next: Q3.1.2, Prev: Q3.0.9, Up: Customization
2745 3.1: X Window System & Resources
2746 ================================
2748 Q3.1.1: Where is a list of X resources?
2749 ---------------------------------------
2751 Search through the `NEWS' file for `X Resources'. A fairly
2752 comprehensive list is given after it.
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.
2763 File: xemacs-faq.info, Node: Q3.1.2, Next: Q3.1.3, Prev: Q3.1.1, Up: Customization
2765 Q3.1.2: How can I detect a color display?
2766 -----------------------------------------
2768 You can test the return value of the function `(device-class)', as in:
2770 (when (eq (device-class) 'color)
2771 (set-face-foreground 'font-lock-comment-face "Grey")
2772 (set-face-foreground 'font-lock-string-face "Red")
2777 File: xemacs-faq.info, Node: Q3.1.3, Next: Q3.1.4, Prev: Q3.1.2, Up: Customization
2779 Q3.1.3: [This question intentionally left blank]
2780 ------------------------------------------------
2783 File: xemacs-faq.info, Node: Q3.1.4, Next: Q3.1.5, Prev: Q3.1.3, Up: Customization
2785 Q3.1.4: [This question intentionally left blank]
2786 ------------------------------------------------
2789 File: xemacs-faq.info, Node: Q3.1.5, Next: Q3.1.6, Prev: Q3.1.4, Up: Customization
2791 Q3.1.5: How can I get the icon to just say `XEmacs'?
2792 ----------------------------------------------------
2794 I'd like the icon to just say `XEmacs', and not include the name of the
2797 Add the following line to your `init.el'/`.emacs':
2799 (setq frame-icon-title-format "XEmacs")
2802 File: xemacs-faq.info, Node: Q3.1.6, Next: Q3.1.7, Prev: Q3.1.5, Up: Customization
2804 Q3.1.6: How can I have the window title area display the full path?
2805 -------------------------------------------------------------------
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.
2810 Add the following line to your `init.el'/`.emacs':
2812 (setq frame-title-format "%S: %f")
2814 A more sophisticated title might be:
2816 (setq frame-title-format
2817 '("%S: " (buffer-file-name "%f"
2818 (dired-directory dired-directory "%b"))))
2820 That is, use the file name, or the dired-directory, or the buffer
2824 File: xemacs-faq.info, Node: Q3.1.7, Next: Q3.1.8, Prev: Q3.1.6, Up: Customization
2826 Q3.1.7: `xemacs -name junk' doesn't work?
2827 -----------------------------------------
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?
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:
2846 Name: FOO .shell .container .BAR
2847 Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
2849 instead of the default
2851 Name: xemacs.shell .container .emacs
2852 Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
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.
2865 To make a frame with a particular name use:
2867 (make-frame '((name . "the-name")))
2870 File: xemacs-faq.info, Node: Q3.1.8, Next: Q3.2.1, Prev: Q3.1.7, Up: Customization
2872 Q3.1.8: `-iconic' doesn't work.
2873 -------------------------------
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...
2879 Ben Wing <ben@xemacs.org> writes:
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...
2886 File: xemacs-faq.info, Node: Q3.2.1, Next: Q3.2.2, Prev: Q3.1.8, Up: Customization
2888 3.2: Textual Fonts & Colors
2889 ===========================
2891 Q3.2.1: How can I set color options from `init.el'/`.emacs'?
2892 ------------------------------------------------------------
2894 How can I set the most commonly used color options from my
2895 `init.el'/`.emacs' instead of from my `.Xresources'?
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/
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
2907 (set-face-foreground 'highlight "yellow")
2908 (set-face-background 'modeline "blue") ; Line at bottom
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
2914 (set-face-foreground 'isearch "red")
2915 (setq x-pointer-foreground-color "black") ; Adds to bg color,
2917 (setq x-pointer-background-color "blue") ; This is color
2922 File: xemacs-faq.info, Node: Q3.2.2, Next: Q3.2.3, Prev: Q3.2.1, Up: Customization
2924 Q3.2.2: How do I set the text, menu and modeline fonts?
2925 -------------------------------------------------------
2927 Note that you should use `Emacs.' and not `Emacs*' when setting face
2932 Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
2933 Emacs*menubar*font: fixed
2934 Emacs.modeline.attributeFont: fixed
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
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.)
2948 File: xemacs-faq.info, Node: Q3.2.3, Next: Q3.2.4, Prev: Q3.2.2, Up: Customization
2950 Q3.2.3: How can I set the colors when highlighting a region?
2951 ------------------------------------------------------------
2953 How can I set the background/foreground colors when highlighting a
2956 You can change the face `zmacs-region' either in your `.Xresources':
2958 Emacs.zmacs-region.attributeForeground: firebrick
2959 Emacs.zmacs-region.attributeBackground: lightseagreen
2961 or in your `init.el'/`.emacs':
2963 (set-face-background 'zmacs-region "red")
2964 (set-face-foreground 'zmacs-region "yellow")
2967 File: xemacs-faq.info, Node: Q3.2.4, Next: Q3.2.5, Prev: Q3.2.3, Up: Customization
2969 Q3.2.4: How can I limit color map usage?
2970 ----------------------------------------
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?
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
2981 If you have the money, another solution would be to use a truecolor
2982 or direct color video.
2985 File: xemacs-faq.info, Node: Q3.2.5, Next: Q3.2.6, Prev: Q3.2.4, Up: Customization
2987 Q3.2.5: My tty supports color, but XEmacs doesn't use them.
2988 -----------------------------------------------------------
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:
2994 (if (eq 'tty (device-type))
2995 (set-device-class nil 'color))
2998 File: xemacs-faq.info, Node: Q3.2.6, Next: Q3.2.7, Prev: Q3.2.5, Up: Customization
3000 Q3.2.6: Can I have pixmap backgrounds in XEmacs?
3001 ------------------------------------------------
3003 Juan Villacis <jvillaci@wahnsinnig.extreme.indiana.edu> writes:
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.,
3008 Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
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.,
3014 (set-face-background-pixmap 'default "/path/to/image.xpm")
3015 (set-face-background-pixmap 'bold "/path/to/another_image.xpm")
3017 and so on. You can also do this interactively via `M-x
3022 File: xemacs-faq.info, Node: Q3.2.7, Next: Q3.3.1, Prev: Q3.2.6, Up: Customization
3024 Q3.2.7: How do I display non-ASCII characters?
3025 ----------------------------------------------
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.
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:
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.
3045 For the related problem of _inputting_ non-ASCII characters in a
3046 non-Mule XEmacs, *Note Q3.5.7::.
3049 File: xemacs-faq.info, Node: Q3.3.1, Next: Q3.3.2, Prev: Q3.2.7, Up: Customization
3054 Q3.3.1: How can I make the modeline go away?
3055 --------------------------------------------
3057 (set-specifier has-modeline-p nil)
3060 File: xemacs-faq.info, Node: Q3.3.2, Next: Q3.3.3, Prev: Q3.3.1, Up: Customization
3062 Q3.3.2: How do you have XEmacs display the line number in the modeline?
3063 -----------------------------------------------------------------------
3065 Add the following line to your `init.el'/`.emacs' file to display the
3068 (line-number-mode 1)
3070 Use the following to display the column number:
3072 (column-number-mode 1)
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'
3078 Or type `M-x customize <RET> editing-basics <RET>'.
3081 File: xemacs-faq.info, Node: Q3.3.3, Next: Q3.3.4, Prev: Q3.3.2, Up: Customization
3083 Q3.3.3: How do I get XEmacs to put the time of day on the modeline?
3084 -------------------------------------------------------------------
3086 Add the following line to your `init.el'/`.emacs' file to display the
3091 See `Customize' from the `Options' menu for customization.
3094 File: xemacs-faq.info, Node: Q3.3.4, Next: Q3.3.5, Prev: Q3.3.3, Up: Customization
3096 Q3.3.4: How do I turn off current chapter from AUC TeX modeline?
3097 ----------------------------------------------------------------
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?
3102 It's not AUC TeX, it comes from `func-menu' in `func-menu.el'.
3104 David Hughes <dhughes@origin-at.co.uk> writes:
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.
3111 (setq-default fume-auto-rescan-buffer-p nil)
3114 File: xemacs-faq.info, Node: Q3.3.5, Next: Q3.4.1, Prev: Q3.3.4, Up: Customization
3116 Q3.3.5: How can one change the modeline color based on the mode used?
3117 ---------------------------------------------------------------------
3119 You can use something like the following:
3121 (add-hook 'lisp-mode-hook
3123 (set-face-background 'modeline "red" (current-buffer))))
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
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.
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
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
3147 There are additional modeline faces, `modeline-buffer-id',
3148 `modeline-mousable', and `modeline-mousable-minor-mode', which you may
3152 File: xemacs-faq.info, Node: Q3.4.1, Next: Q3.4.2, Prev: Q3.3.5, Up: Customization
3154 3.4: Multiple Device Support
3155 ============================
3157 Q3.4.1: How do I open a frame on another screen of my multi-headed display?
3158 ---------------------------------------------------------------------------
3160 Use the command `M-x make-frame-on-display'. This command is also on
3161 the File menu in the menubar.
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.
3168 File: xemacs-faq.info, Node: Q3.4.2, Next: Q3.5.1, Prev: Q3.4.1, Up: Customization
3170 Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem? How?
3171 -------------------------------------------------------------------------------------
3173 Yes. Use `gnuclient -nw'. (Prior to 20.3, use the `gnuattach' program
3174 supplied with XEmacs instead.)
3176 Also see *Note Q5.0.12::.
3179 File: xemacs-faq.info, Node: Q3.5.1, Next: Q3.5.2, Prev: Q3.4.2, Up: Customization
3184 Q3.5.1: How can I bind complex functions (or macros) to keys?
3185 -------------------------------------------------------------
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:
3190 (define-key global-map [f18] 'x-insert-selection)
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:
3199 (global-set-key [f18]
3200 (lambda () (interactive) (x-insert-selection t nil)))
3202 This binds the f18 key to a "generic" functional object. The
3203 interactive spec is required because only interactive functions can be
3206 For the FAQ example you could use:
3208 (global-set-key [(control ?.)]
3209 (lambda () (interactive) (scroll-up 1)))
3210 (global-set-key [(control ?;)]
3211 (lambda () (interactive) (scroll-up -1)))
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::).
3218 File: xemacs-faq.info, Node: Q3.5.2, Next: Q3.5.3, Prev: Q3.5.1, Up: Customization
3220 Q3.5.2: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
3221 --------------------------------------------------------------------------------------
3223 Add the following line to your `init.el'/`.emacs' file:
3225 (setq next-line-add-newlines nil)
3227 This has been the default setting in XEmacs for some time.
3230 File: xemacs-faq.info, Node: Q3.5.3, Next: Q3.5.4, Prev: Q3.5.2, Up: Customization
3232 Q3.5.3: How do I bind C-. and C-; to scroll one line up and down?
3233 -----------------------------------------------------------------
3235 Add the following (Thanks to Richard Mlynarik <mly@adoc.xerox.com> and
3236 Wayne Newberry <wayne@zen.cac.stratus.com>) to `.emacs':
3238 (defun scroll-up-one-line ()
3242 (defun scroll-down-one-line ()
3246 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
3247 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
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).
3254 File: xemacs-faq.info, Node: Q3.5.4, Next: Q3.5.5, Prev: Q3.5.3, Up: Customization
3256 Q3.5.4: Globally binding `Delete'?
3257 ----------------------------------
3259 I cannot manage to globally bind my `Delete' key to something other
3260 than the default. How does one do this?
3262 Answer: The problem is that many modes explicitly bind `Delete'. To
3263 get around this, try the following:
3267 (message "You hit DELETE"))
3269 (define-key key-translation-map 'delete 'redirected-delete)
3270 (global-set-key 'redirected-delete 'foo)
3272 Also see *Note Q3.5.10::.
3275 File: xemacs-faq.info, Node: Q3.5.5, Next: Q3.5.6, Prev: Q3.5.4, Up: Customization
3277 Q3.5.5: Scrolling one line at a time.
3278 -------------------------------------
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.
3285 (defun scroll-one-line-up (&optional arg)
3286 "Scroll the selected window up (forward in the text) one line (or N lines)."
3288 (scroll-up (or arg 1)))
3290 (defun scroll-one-line-down (&optional arg)
3291 "Scroll the selected window down (backward in the text) one line (or N)."
3293 (scroll-down (or arg 1)))
3295 (global-set-key [up] 'scroll-one-line-up)
3296 (global-set-key [down] 'scroll-one-line-down)
3298 The following will also work but will affect more than just the
3299 cursor keys (i.e. `C-n' and `C-p'):
3301 (setq scroll-step 1)
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>'.
3309 File: xemacs-faq.info, Node: Q3.5.6, Next: Q3.5.7, Prev: Q3.5.5, Up: Customization
3311 Q3.5.6: How to map `Help' key alone on Sun type4 keyboard?
3312 ----------------------------------------------------------
3314 The following works in GNU Emacs 19:
3316 (global-set-key [help] 'help-command);; Help
3318 The following works in XEmacs with the addition of shift:
3320 (global-set-key [(shift help)] 'help-command);; Help
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_.
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:'.
3334 File: xemacs-faq.info, Node: Q3.5.7, Next: Q3.5.8, Prev: Q3.5.6, Up: Customization
3336 Q3.5.7: How can you type in special characters in XEmacs?
3337 ---------------------------------------------------------
3339 One way is to use the package `x-compose'. Then you can use sequences
3340 like `Compose " a' to get ä, etc.
3342 Another way is to use the `iso-insert' package. Then you can use
3343 sequences like `C-x 8 " a' to get ä, etc.
3345 Glynn Clements <glynn@sensei.co.uk> writes:
3347 It depends upon your X server.
3349 Generally, the simplest way is to define a key as Multi_key with
3351 xmodmap -e 'keycode 0xff20 = Multi_key'
3353 You will need to pick an appropriate keycode. Use xev to find out
3354 the keycodes for each key.
3356 [NB: On a `Windows' keyboard, recent versions of XFree86
3357 automatically define the right `Windows' key as Multi_key'.]
3359 Once you have Multi_key defined, you can use e.g.
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
3373 Running `xmodmap -pk' will list all of the defined keysyms.
3375 For the related problem of _displaying_ non-ASCII characters in a
3376 non-Mule XEmacs, *Note Q3.2.7::.
3379 File: xemacs-faq.info, Node: Q3.5.8, Next: Q3.5.9, Prev: Q3.5.7, Up: Customization
3381 Q3.5.8: [This question intentionally left blank]
3382 ------------------------------------------------
3384 Obsolete question, left blank to avoid renumbering.
3387 File: xemacs-faq.info, Node: Q3.5.9, Next: Q3.5.10, Prev: Q3.5.8, Up: Customization
3389 Q3.5.9: How do I make the Delete key delete forward?
3390 ----------------------------------------------------
3392 With XEmacs-20.2 use the `delbs' package:
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.
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>'.
3406 Also see *Note Q3.5.4::.
3409 File: xemacs-faq.info, Node: Q3.5.10, Next: Q3.5.11, Prev: Q3.5.9, Up: Customization
3411 Q3.5.10: Can I turn on "sticky" modifier keys?
3412 ----------------------------------------------
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.
3419 Ben Wing <ben@xemacs.org> writes:
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"
3426 File: xemacs-faq.info, Node: Q3.5.11, Next: Q3.6.1, Prev: Q3.5.10, Up: Customization
3428 Q3.5.11: How do I map the arrow keys?
3429 -------------------------------------
3431 Say you want to map `C-<right>' to forward-word:
3433 Sam Steingold <sds@usa.net> writes:
3435 ; both XEmacs and Emacs
3436 (define-key global-map [(control right)] 'forward-word)
3439 (define-key global-map [C-right] 'forward-word)
3442 (define-key global-map (kbd "C-<right>") 'forward-word)
3445 File: xemacs-faq.info, Node: Q3.6.1, Next: Q3.6.2, Prev: Q3.5.11, Up: Customization
3450 Q3.6.1: Is there a way to make the bar cursor thicker?
3451 ------------------------------------------------------
3453 I'd like to have the bar cursor a little thicker, as I tend to "lose" it
3456 For a 1 pixel bar cursor, use:
3460 For a 2 pixel bar cursor, use:
3462 (setq bar-cursor 'anything-else)
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>'.
3469 You can use a color to make it stand out better:
3471 Emacs*cursorColor: Red
3474 File: xemacs-faq.info, Node: Q3.6.2, Next: Q3.6.3, Prev: Q3.6.1, Up: Customization
3476 Q3.6.2: Is there a way to get back the block cursor?
3477 ----------------------------------------------------
3479 (setq bar-cursor nil)
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>'.
3487 File: xemacs-faq.info, Node: Q3.6.3, Next: Q3.7.1, Prev: Q3.6.2, Up: Customization
3489 Q3.6.3: Can I make the cursor blink?
3490 ------------------------------------
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.
3501 File: xemacs-faq.info, Node: Q3.7.1, Next: Q3.7.2, Prev: Q3.6.3, Up: Customization
3503 3.7: The Mouse and Highlighting
3504 ===============================
3506 Q3.7.1: How can I turn off Mouse pasting?
3507 -----------------------------------------
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?
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'.
3517 (defun mouse-set-point-and-select (event)
3518 "Sets the point at the mouse location, then marks following form"
3520 (mouse-set-point event)
3522 (define-key global-map [button2] 'mouse-set-point-and-select)
3525 File: xemacs-faq.info, Node: Q3.7.2, Next: Q3.7.3, Prev: Q3.7.1, Up: Customization
3527 Q3.7.2: How do I set control/meta/etc modifiers on mouse buttons?
3528 -----------------------------------------------------------------
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
3536 [Inside a function that gets called by the lisp-mode-hook and
3539 (local-set-key [(meta button1)] 'edit-definitions-lisp)
3542 File: xemacs-faq.info, Node: Q3.7.3, Next: Q3.7.4, Prev: Q3.7.2, Up: Customization
3544 Q3.7.3: Clicking the left button does not do anything in buffer list.
3545 ---------------------------------------------------------------------
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
3551 Use the middle mouse button.
3554 File: xemacs-faq.info, Node: Q3.7.4, Next: Q3.7.5, Prev: Q3.7.3, Up: Customization
3556 Q3.7.4: How can I get a list of buffers when I hit mouse button 3?
3557 ------------------------------------------------------------------
3559 The following code will replace the default popup on button3:
3561 (global-set-key [button3] 'popup-buffer-menu)
3564 File: xemacs-faq.info, Node: Q3.7.5, Next: Q3.7.6, Prev: Q3.7.4, Up: Customization
3566 Q3.7.5: Why does cut-and-paste not work between XEmacs and a cmdtool?
3567 ---------------------------------------------------------------------
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).
3575 File: xemacs-faq.info, Node: Q3.7.6, Next: Q3.7.7, Prev: Q3.7.5, Up: Customization
3577 Q3.7.6: How I can set XEmacs up so that it pastes where the text cursor is?
3578 ---------------------------------------------------------------------------
3580 By default XEmacs pastes X selections where the mouse pointer is. How
3583 Examine the function `mouse-yank', by typing `C-h f mouse-yank
3586 To get XEmacs to paste at the text cursor, add this your
3589 (setq mouse-yank-at-point t)
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>'.
3597 File: xemacs-faq.info, Node: Q3.7.7, Next: Q3.7.8, Prev: Q3.7.6, Up: Customization
3599 Q3.7.7: How do I select a rectangular region?
3600 ---------------------------------------------
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.
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
3610 You can also do the following to change default behavior to sweep out
3611 rectangular regions:
3613 (setq mouse-track-rectangle-p t)
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>'.
3620 mouse-track-do-rectangle: (event)
3621 -- an interactive compiled Lisp function.
3622 Like `mouse-track' but selects rectangles instead of regions.
3625 File: xemacs-faq.info, Node: Q3.7.8, Next: Q3.8.1, Prev: Q3.7.7, Up: Customization
3627 Q3.7.8: Why does `M-w' take so long?
3628 ------------------------------------
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.
3636 File: xemacs-faq.info, Node: Q3.8.1, Next: Q3.8.2, Prev: Q3.7.8, Up: Customization
3638 3.8: The Menubar and Toolbar
3639 ============================
3641 Q3.8.1: How do I get rid of the menu (or menubar)?
3642 --------------------------------------------------
3644 (set-specifier menubar-visible-p nil)
3647 File: xemacs-faq.info, Node: Q3.8.2, Next: Q3.8.3, Prev: Q3.8.1, Up: Customization
3649 Q3.8.2: Can I customize the basic menubar?
3650 ------------------------------------------
3652 For an extensive menubar, add this line to your `init.el'/`.emacs':
3654 (load "big-menubar")
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
3661 File: xemacs-faq.info, Node: Q3.8.3, Next: Q3.8.4, Prev: Q3.8.2, Up: Customization
3663 Q3.8.3: How do I control how many buffers are listed in the menu `Buffers List'?
3664 --------------------------------------------------------------------------------
3666 Add the following to your `init.el'/`.emacs' (suit to fit):
3668 (setq buffers-menu-max-size 20)
3670 For no limit, use an argument of `nil'.
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>'.
3678 File: xemacs-faq.info, Node: Q3.8.4, Next: Q3.8.5, Prev: Q3.8.3, Up: Customization
3680 Q3.8.4: Resources like `Emacs*menubar*font' are not working?
3681 ------------------------------------------------------------
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.
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:
3690 Emacs*menubar*fontList: FONT
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
3702 Emacs*menubar*font: FONT
3704 even though the latter is more specific.
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:
3714 File: xemacs-faq.info, Node: Q3.8.5, Next: Q3.9.1, Prev: Q3.8.4, Up: Customization
3716 Q3.8.5: How can I bind a key to a function to toggle the toolbar?
3717 -----------------------------------------------------------------
3721 (defun my-toggle-toolbar ()
3723 (set-specifier default-toolbar-visible-p
3724 (not (specifier-instance default-toolbar-visible-p))))
3725 (global-set-key "\C-xT" 'my-toggle-toolbar)
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.
3732 Thanks to Martin Buchholz <martin@xemacs.org> for the correct code.
3735 File: xemacs-faq.info, Node: Q3.9.1, Next: Q3.9.2, Prev: Q3.8.5, Up: Customization
3740 Q3.9.1: How can I disable the scrollbar?
3741 ----------------------------------------
3743 To disable them for all frames, add the following line to your
3746 Emacs.scrollBarWidth: 0
3748 Or select from the `Options' menu `Frame Appearance->Scrollbars'.
3749 Remember to save options.
3751 To turn the scrollbar off on a per-frame basis, use the following
3754 (set-specifier scrollbar-width 0 (selected-frame))
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:
3760 (set-specifier scrollbar-width 0 (current-buffer))
3763 File: xemacs-faq.info, Node: Q3.9.2, Next: Q3.9.3, Prev: Q3.9.1, Up: Customization
3765 Q3.9.2: How can one use resources to change scrollbar colors?
3766 -------------------------------------------------------------
3768 Here's a recap of how to use resources to change your scrollbar colors:
3772 Emacs*XmScrollBar.Background: skyblue
3773 Emacs*XmScrollBar.troughColor: lightgray
3777 Emacs*Scrollbar.Foreground: skyblue
3778 Emacs*Scrollbar.Background: lightgray
3780 Note the capitalization of `Scrollbar' for the Athena widget.
3783 File: xemacs-faq.info, Node: Q3.9.3, Next: Q3.9.4, Prev: Q3.9.2, Up: Customization
3785 Q3.9.3: Moving the scrollbar can move the point; can I disable this?
3786 --------------------------------------------------------------------
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?
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.
3797 This cannot be changed.
3800 File: xemacs-faq.info, Node: Q3.9.4, Next: Q3.10.1, Prev: Q3.9.3, Up: Customization
3802 Q3.9.4: How can I turn off automatic horizontal scrolling in specific modes?
3803 ----------------------------------------------------------------------------
3805 Do `(setq truncate-lines t)' in the mode-hooks for any modes in which
3806 you want lines truncated.
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
3812 (set-specifier scrollbar-height 0)
3814 then horizontal scrollbars will not appear in truncated buffers
3815 unless the package specifically asked for them.
3818 File: xemacs-faq.info, Node: Q3.10.1, Next: Q3.10.2, Prev: Q3.9.4, Up: Customization
3820 3.10: Text Selections
3821 =====================
3823 Q3.10.1: How can I turn off or change highlighted selections?
3824 -------------------------------------------------------------
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:
3831 (setq zmacs-regions nil)
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>'.
3838 To change the face for selection, look at `Options->Customize' on
3842 File: xemacs-faq.info, Node: Q3.10.2, Next: Q3.10.3, Prev: Q3.10.1, Up: Customization
3844 Q3.10.2: How do I get that typing on an active region removes it?
3845 -----------------------------------------------------------------
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.
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.
3855 To get this behavior, add the following lines to your
3859 ((fboundp 'turn-on-pending-delete)
3860 (turn-on-pending-delete))
3861 ((fboundp 'pending-delete-on)
3862 (pending-delete-on t)))
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
3869 File: xemacs-faq.info, Node: Q3.10.3, Next: Q3.10.4, Prev: Q3.10.2, Up: Customization
3871 Q3.10.3: Can I turn off the highlight during isearch?
3872 -----------------------------------------------------
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?
3877 Put the following in your `init.el'/`.emacs':
3879 (setq isearch-highlight nil)
3881 Starting with XEmacs-20.2 you can also change this with Customize.
3882 Type `M-x customize-variable <RET> isearch-highlight <RET>'.
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.
3889 File: xemacs-faq.info, Node: Q3.10.4, Next: Q3.10.5, Prev: Q3.10.3, Up: Customization
3891 Q3.10.4: How do I turn off highlighting after `C-x C-p' (mark-page)?
3892 --------------------------------------------------------------------
3894 Put this in your `.emacs':
3896 (setq zmacs-regions nil)
3898 *Warning: This command turns off all region highlighting.*
3900 Also see *Note Q3.10.1::.
3903 File: xemacs-faq.info, Node: Q3.10.5, Next: Q3.10.6, Prev: Q3.10.4, Up: Customization
3905 Q3.10.5: The region disappears when I hit the end of buffer while scrolling.
3906 ----------------------------------------------------------------------------
3908 This has been fixed by default starting with XEmacs-20.3.
3910 With older versions you can turn this feature (if it indeed is a
3911 feature) off like this:
3913 (defadvice scroll-up (around scroll-up freeze)
3915 (let ((zmacs-region-stays t))
3919 (end-of-buffer (goto-char (point-max))))
3922 (defadvice scroll-down (around scroll-down freeze)
3924 (let ((zmacs-region-stays t))
3928 (beginning-of-buffer (goto-char (point-min))))
3931 Thanks to T. V. Raman <raman@adobe.com> for assistance in deriving
3935 File: xemacs-faq.info, Node: Q3.10.6, Prev: Q3.10.5, Up: Customization
3937 Q3.10.6: Why is killing so slow?
3938 --------------------------------
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:
3945 a transient selection that gets replaced every time a new
3948 *Secondary selection*
3949 for "exchanging" with the primary selection
3952 a clipboard internal to the X server (deprecated)
3954 *Clipboard selection*
3955 a selection with a notification protocol that allows a separate
3956 app to manage the clipboard
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.
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.
3970 So the slowdown occurs because XEmacs now engages in the clipboard
3971 notification protocol on _every_ kill. This is especially slow on
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.
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'.
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.)
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.
4001 Thanks to Jeff Mincy and Glynn Clements for corrections.
4004 File: xemacs-faq.info, Node: Subsystems, Next: Miscellaneous, Prev: Customization, Up: Top
4009 This is part 4 of the XEmacs Frequently Asked Questions list. This
4010 section is devoted to major XEmacs subsystems.
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.
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?
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?
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)?
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?
4051 * Q4.5.1:: What is/was Energize?
4054 * Q4.6.1:: What is Infodock?
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?
4066 File: xemacs-faq.info, Node: Q4.0.1, Next: Q4.0.2, Prev: Subsystems, Up: Subsystems
4068 4.0: Reading Mail with VM
4069 =========================
4071 Q4.0.1: How do I set up VM to retrieve mail from a remote site using POP?
4072 -------------------------------------------------------------------------
4074 Use `vm-spool-files', like this for example:
4076 (setq vm-spool-files '("/var/spool/mail/wing"
4077 "netcom23.netcom.com:110:pass:wing:MYPASS"))
4079 Of course substitute your actual password for MYPASS.
4082 File: xemacs-faq.info, Node: Q4.0.2, Next: Q4.0.3, Prev: Q4.0.1, Up: Subsystems
4084 Q4.0.2: How do I get VM to filter mail for me?
4085 ----------------------------------------------
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/'.
4092 Also see the Mail Filtering FAQ at:
4093 `ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq'.
4096 File: xemacs-faq.info, Node: Q4.0.3, Next: Q4.0.4, Prev: Q4.0.2, Up: Subsystems
4098 Q4.0.3: How can I get VM to automatically check for new mail?
4099 -------------------------------------------------------------
4101 John Turner <turner@lanl.gov> writes:
4105 (setq vm-auto-get-new-mail 60)
4108 File: xemacs-faq.info, Node: Q4.0.4, Next: Q4.0.5, Prev: Q4.0.3, Up: Subsystems
4110 Q4.0.4: [This question intentionally left blank]
4111 ------------------------------------------------
4113 Obsolete question, left blank to avoid renumbering.
4116 File: xemacs-faq.info, Node: Q4.0.5, Next: Q4.0.6, Prev: Q4.0.4, Up: Subsystems
4118 Q4.0.5: How do I get my outgoing mail archived?
4119 -----------------------------------------------
4121 (setq mail-archive-file-name "~/outbox")
4124 File: xemacs-faq.info, Node: Q4.0.6, Next: Q4.0.7, Prev: Q4.0.5, Up: Subsystems
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 ---------------------------------------------------------------------------------------------------------------------
4129 Set `vm-reply-ignored-addresses' to a list, like
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"))
4135 Note that each string is a regular expression.
4138 File: xemacs-faq.info, Node: Q4.0.7, Next: Q4.0.8, Prev: Q4.0.6, Up: Subsystems
4140 Q4.0.7: Is there a mailing list or FAQ for VM?
4141 ----------------------------------------------
4143 A FAQ for VM exists at `http://www.wonderworks.com/vm/FAQ.html'.
4145 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
4148 File: xemacs-faq.info, Node: Q4.0.8, Next: Q4.0.9, Prev: Q4.0.7, Up: Subsystems
4150 Q4.0.8: Remote mail reading with VM.
4151 ------------------------------------
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?
4159 Joseph J. Nuspl Jr. <nuspl@nvwls.cc.purdue.edu> writes:
4161 There are several ways to do this.
4163 1. Set your display to your home machine and run dxpc or one of
4164 the other X compressors.
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.
4170 3. Run a POP server on your desktop machine as well and do a
4171 sort of two tiered POP get.
4173 William Perry <wmperry@monolith.spry.com> adds:
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.
4180 File: xemacs-faq.info, Node: Q4.0.9, Next: Q4.0.10, Prev: Q4.0.8, Up: Subsystems
4182 Q4.0.9: rmail or VM gets an error incorporating new mail.
4183 ---------------------------------------------------------
4185 Quoting the XEmacs PROBLEMS file:
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'.
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.
4198 *IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
4199 SYSTEM, YOU CAN LOSE MAIL!*
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
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.
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.
4227 File: xemacs-faq.info, Node: Q4.0.10, Next: Q4.0.11, Prev: Q4.0.9, Up: Subsystems
4229 Q4.0.10: How do I make VM stay in a single frame?
4230 -------------------------------------------------
4232 John.John S Cooper <Cooper@Eng.Sun.COM> writes:
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)
4241 File: xemacs-faq.info, Node: Q4.0.11, Next: Q4.0.12, Prev: Q4.0.10, Up: Subsystems
4243 Q4.0.11: How do I make VM or mh-e display graphical smilies?
4244 ------------------------------------------------------------
4246 For mh-e use the following:
4248 (add-hook 'mh-show-mode-hook '(lambda ()
4249 (smiley-region (point-min)
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
4256 (smiley-region (point-min)
4259 For tm use the following:
4260 (autoload 'smiley-buffer "smiley" nil t)
4261 (add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer)
4264 File: xemacs-faq.info, Node: Q4.0.12, Next: Q4.1.1, Prev: Q4.0.11, Up: Subsystems
4266 Q4.0.12: Customization of VM not covered in the manual, or here.
4267 ----------------------------------------------------------------
4269 giacomo boffi <boffi@hp735.stru.polimi.it> writes:
4271 The meta-answer is to look into the file `vm-vars.el', in the vm
4272 directory of the lisp library.
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.
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.
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.
4288 File: xemacs-faq.info, Node: Q4.1.1, Next: Q4.1.2, Prev: Q4.0.12, Up: Subsystems
4290 4.1: Web browsing with W3
4291 =========================
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...
4299 It has a home web page at
4300 `http://www.cs.indiana.edu/elisp/w3/docs.html'.
4303 File: xemacs-faq.info, Node: Q4.1.2, Next: Q4.1.3, Prev: Q4.1.1, Up: Subsystems
4305 Q4.1.2: How do I run W3 from behind a firewall?
4306 -----------------------------------------------
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".
4312 File: xemacs-faq.info, Node: Q4.1.3, Next: Q4.2.1, Prev: Q4.1.2, Up: Subsystems
4314 Q4.1.3: Is it true that W3 supports style sheets and tables?
4315 ------------------------------------------------------------
4317 Yes, and much more. W3, as distributed with the latest XEmacs is a
4318 full-featured web browser.
4321 File: xemacs-faq.info, Node: Q4.2.1, Next: Q4.2.2, Prev: Q4.1.3, Up: Subsystems
4323 4.2: Reading Netnews and Mail with Gnus
4324 =======================================
4326 Q4.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
4327 --------------------------------------------------------------------------------
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:
4333 `http://www.ccs.neu.edu/software/contrib/gnus/'
4335 See also Gnus home page
4336 `http://www.gnus.org/'
4339 File: xemacs-faq.info, Node: Q4.2.2, Next: Q4.2.3, Prev: Q4.2.1, Up: Subsystems
4341 Q4.2.2: This question intentionally left blank.
4342 -----------------------------------------------
4344 Obsolete question, left blank to avoid renumbering.
4347 File: xemacs-faq.info, Node: Q4.2.3, Next: Q4.2.4, Prev: Q4.2.2, Up: Subsystems
4349 Q4.2.3: How do I make Gnus stay within a single frame?
4350 ------------------------------------------------------
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:
4356 (defun toolbar-news ()
4359 It will redefine the callback function of the icon to just call
4360 `gnus', without all the fancy frame stuff.
4363 File: xemacs-faq.info, Node: Q4.2.4, Next: Q4.3.1, Prev: Q4.2.3, Up: Subsystems
4365 Q4.2.4: How do I customize the From: line?
4366 ------------------------------------------
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?
4375 Lars Magne Ingebrigtsen <larsi@ifi.uio.no> writes:
4377 Set `user-mail-address' to `gail.gurman@sybase.com' or
4378 `mail-host-address' to `sybase.com'.
4381 File: xemacs-faq.info, Node: Q4.3.1, Next: Q4.3.2, Prev: Q4.2.4, Up: Subsystems
4383 4.3: Other Mail & News
4384 ======================
4386 Q4.3.1: How can I read and/or compose MIME messages?
4387 ----------------------------------------------------
4389 VM supports MIME natively.
4391 You probably want to use the Tools for MIME (tm). *Note Q4.3.2::,
4394 Trey Jackson <trey@cs.berkeley.edu> has an Emacs & MIME web page at
4395 `http://bmrc.berkeley.edu/~trey/emacs/mime.html'.
4397 Another possibility is RMIME. You may find RMIME at
4398 `http://www.cinti.net/~rmoody/rmime/index.html'.
4401 File: xemacs-faq.info, Node: Q4.3.2, Next: Q4.3.3, Prev: Q4.3.1, Up: Subsystems
4403 Q4.3.2: What is TM and where do I get it?
4404 -----------------------------------------
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
4412 TM now comes as a package with XEmacs 19.16 and XEmacs 20.2.
4414 TM was written by MORIOKA Tomohiko <morioka@jaist.ac.jp> and
4415 KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>.
4417 It is based on the work of UMEDA Masanobu
4418 <umerin@mse.kyutech.ac.jp>, the original writer of GNUS.
4420 The following information is from the `README':
4422 "tm" is a MIME package for GNU Emacs. tm has following functions:
4424 * MIME style multilingual header.
4426 * MIME message viewer (mime/viewer-mode).
4428 * MIME message composer (mime/editor-mode).
4430 * MIME extenders for mh-e, GNUS, RMAIL and VM.
4432 tm is available from following anonymous ftp sites:
4433 * `ftp://ftp.unicamp.br/pub/mail/mime/tm/' (Brasil).
4435 * `ftp://ftp.th-darmstadt.de/pub/editors/GNU-Emacs/lisp/mime/'
4438 * `ftp://ftp.tnt.uni-hannover.de/pub/editors/xemacs/contrib/'
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.
4445 Steve Youngs <youngs@xemacs.org> writes:
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.
4452 File: xemacs-faq.info, Node: Q4.3.3, Next: Q4.3.4, Prev: Q4.3.2, Up: Subsystems
4454 Q4.3.3: Why isn't this `movemail' program working?
4455 --------------------------------------------------
4457 Ben Wing <ben@xemacs.org> writes:
4459 It wasn't chown'ed/chmod'd correctly.
4462 File: xemacs-faq.info, Node: Q4.3.4, Next: Q4.3.5, Prev: Q4.3.3, Up: Subsystems
4464 Q4.3.4: Movemail is also distributed by Netscape? Can that cause problems?
4465 ---------------------------------------------------------------------------
4467 Steve Baur <steve@xemacs.org> writes:
4469 Yes. Always use the movemail installed with your XEmacs. Failure
4470 to do so can result in lost mail.
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
4479 File: xemacs-faq.info, Node: Q4.3.5, Next: Q4.4.1, Prev: Q4.3.4, Up: Subsystems
4481 Q4.3.5: Where do I find pstogif (required by tm)?
4482 -------------------------------------------------
4484 pstogif is part of the latex2html package.
4486 Jan Vroonhof <vroonhof@math.ethz.ch> writes:
4488 latex2html is best found at the CTAN hosts and their mirrors in
4489 `tex-archive/support/latex2html'.
4493 * `ftp://ftp.tex.ac.uk/tex-archive/support/latex2html/'.
4495 * `ftp://ftp.dante.de/tex-archive/support/latex2html/'.
4497 There is a good mirror at ftp.cdrom.com;
4498 `ftp://ftp.cdrom.com/pub/tex/ctan/support/latex2html/'.
4501 File: xemacs-faq.info, Node: Q4.4.1, Next: Q4.4.2, Prev: Q4.3.5, Up: Subsystems
4503 4.4: Sparcworks, EOS, and WorkShop
4504 ==================================
4506 Q4.4.1: What is SPARCworks, EOS, and WorkShop?
4507 ----------------------------------------------
4509 John Turner <turner@lanl.gov> writes:
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.
4516 See `http://www.sun.com/software/Developer-products/' for more info.
4518 EOS stands for "Era on SPARCworks", but I don't know what Era stands
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
4527 Chuck Thompson <cthomp@xemacs.org> writes:
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.
4533 Martin Buchholz <martin@xemacs.org> writes:
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'.
4541 File: xemacs-faq.info, Node: Q4.4.2, Next: Q4.5.1, Prev: Q4.4.1, Up: Subsystems
4543 Q4.4.2: How do I start the Sun Workshop support in XEmacs 21?
4544 -------------------------------------------------------------
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):
4550 (when (featurep 'tooltalk)
4551 (load "tooltalk-macros")
4552 (load "tooltalk-util")
4553 (load "tooltalk-init"))
4554 (when (featurep 'sparcworks)
4555 (load "sunpro-init")
4558 (load "annotations")
4561 If you are not using the latest Workshop (5.0) you have to apply the
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
4567 (defvar running-xemacs nil "t if we're running XEmacs")
4568 (defvar running-emacs nil "t if we're running GNU Emacs 19")
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))
4576 File: xemacs-faq.info, Node: Q4.5.1, Next: Q4.6.1, Prev: Q4.4.2, Up: Subsystems
4581 Q4.5.1: What is/was Energize?
4582 -----------------------------
4584 David N Gray <gray@meteor.harlequin.com> writes:
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.)
4596 File: xemacs-faq.info, Node: Q4.6.1, Next: Q4.7.1, Prev: Q4.5.1, Up: Subsystems
4601 Q4.6.1: What is Infodock?
4602 -------------------------
4604 InfoDock (http://sourceforge.net/projects/infodock/) is an integrated
4605 productivity toolset, mainly aimed at technical people, hosted at
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.
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.
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
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
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.
4637 Four types of menubars are provided:
4638 1. An extensive menubar providing access to global InfoDock commands.
4640 2. Mode-specific menubars tailored to the current major mode.
4642 3. A simple menubar for basic editing to help novices get started
4645 4. The standard XEmacs menubar.
4647 Most modes also include mode-specific popup menus. Additionally,
4648 region and rectangle popup menus are included.
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.
4655 The `OO-Browser', a multi-language object-oriented code browser, is a
4656 standard part of InfoDock.
4658 InfoDock saves a more extensive set of user options than other Emacs
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.
4666 Your working set of buffers is automatically saved and restored (if
4667 you answer yes to a prompt) between InfoDock sessions.
4669 Refined color choices for code highlighting are provided for both
4670 dark and light background display frames.
4672 The `C-z' key prefix performs frame-based commands which parallel the
4673 `C-x' key prefix for window-based commands.
4675 The Smart Menu system is included for producing command menus on dumb
4678 Lisp libraries are better categorized according to function.
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.
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.
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>.
4695 Ftp to ftp.xemacs.org (Internet Host ID = 128.174.252.16):
4697 prompt> ftp ftp.xemacs.org
4699 Login as `anonymous' with your own <user-id>@<site-name> as a
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.
4707 Move to the location of the InfoDock archives:
4709 ftp> cd pub/infodock
4711 Set your transfer mode to binary:
4719 Interactive mode off.
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:
4725 ftp> mget ID-INSTALL
4728 Close the FTP connection:
4733 Read the `ID-INSTALL' file which you just retrieved for step-by-step
4734 installation instructions.
4737 File: xemacs-faq.info, Node: Q4.7.1, Next: Q4.7.2, Prev: Q4.6.1, Up: Subsystems
4739 4.7: Other Unbundled Packages
4740 =============================
4742 Q4.7.1: What is AUC TeX? Where do you get it?
4743 ----------------------------------------------
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.
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.
4753 The most recent version is always available by ftp at
4754 `ftp://sunsite.dk/packages/auctex/auctex.tar.gz'.
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>.
4759 WWW users may want to check out the AUC TeX page at
4760 `http://sunsite.dk/auctex/'.
4763 File: xemacs-faq.info, Node: Q4.7.2, Next: Q4.7.3, Prev: Q4.7.1, Up: Subsystems
4765 Q4.7.2: Are there any Emacs Lisp Spreadsheets?
4766 ----------------------------------------------
4768 Yes. Check out "dismal" (which stands for Dis' Mode Ain't Lotus) at
4769 `ftp://cs.nyu.edu/pub/local/fox/dismal/'.
4772 File: xemacs-faq.info, Node: Q4.7.3, Next: Q4.7.4, Prev: Q4.7.2, Up: Subsystems
4774 Q4.7.3: [This question intentionally left blank]
4775 ------------------------------------------------
4778 File: xemacs-faq.info, Node: Q4.7.4, Next: Q4.7.5, Prev: Q4.7.3, Up: Subsystems
4780 Q4.7.4: Problems installing AUC TeX.
4781 ------------------------------------
4783 Jan Vroonhof <vroonhof@math.ethz.ch> writes:
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...
4790 Most problems with AUC TeX are one of two things:
4792 * The TeX-lisp-directory in `tex-site.el' and the makefile don't
4795 Fix: make sure you configure AUC TeX properly *before* installing.
4797 * You have an old version of easymenu.el in your path.
4799 Fix: use `locate-library' and remove old versions to make sure it
4800 *only* finds the one that came with XEmacs.
4803 File: xemacs-faq.info, Node: Q4.7.5, Next: Q4.7.6, Prev: Q4.7.4, Up: Subsystems
4805 Q4.7.5: Is there a reason for an Emacs package not to be included in XEmacs?
4806 ----------------------------------------------------------------------------
4808 The reason for an Emacs package not to be included in XEmacs is usually
4809 one or more of the following:
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
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.
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.
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.
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.
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.
4839 File: xemacs-faq.info, Node: Q4.7.6, Next: Q4.7.7, Prev: Q4.7.5, Up: Subsystems
4841 Q4.7.5: Is there a MatLab mode?
4842 -------------------------------
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).
4849 File: xemacs-faq.info, Node: Q4.7.7, Prev: Q4.7.6, Up: Subsystems
4851 Q4.7.7: Can I edit files on other hosts?
4852 ----------------------------------------
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.
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.
4868 File: xemacs-faq.info, Node: Miscellaneous, Next: MS Windows, Prev: Subsystems, Up: Top
4870 5 The Miscellaneous Stuff
4871 *************************
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
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?
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?
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.
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?
4935 File: xemacs-faq.info, Node: Q5.0.1, Next: Q5.0.2, Prev: Miscellaneous, Up: Miscellaneous
4937 5.0: Major & Minor Modes
4938 ========================
4940 Q5.0.1: How can I do source code highlighting using font-lock?
4941 --------------------------------------------------------------
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:
4946 (require 'font-lock)
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.
4953 See also `Syntax Highlighting' from the `Options' menu. Remember to
4957 File: xemacs-faq.info, Node: Q5.0.2, Next: Q5.0.3, Prev: Q5.0.1, Up: Miscellaneous
4959 Q5.0.2: I do not like cc-mode. How do I use the old c-mode?
4960 ------------------------------------------------------------
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'.
4967 But, if you still insist, add the following lines to your
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")
4978 This must be done before any other reference is made to either
4982 File: xemacs-faq.info, Node: Q5.0.3, Next: Q5.0.4, Prev: Q5.0.2, Up: Miscellaneous
4984 Q5.0.3: How do I get `More' Syntax Highlighting on by default?
4985 --------------------------------------------------------------
4987 Use the following code in your `init.el'/`.emacs':
4989 (setq-default font-lock-maximum-decoration t)
4991 See also `Syntax Highlighting' from the `Options' menu. Remember to
4995 File: xemacs-faq.info, Node: Q5.0.4, Next: Q5.0.5, Prev: Q5.0.3, Up: Miscellaneous
4997 Q5.0.4: How can I enable auto-indent and/or Filladapt?
4998 ------------------------------------------------------
5000 Put the following line in your `init.el'/`.emacs':
5002 (setq indent-line-function 'indent-relative-maybe)
5004 If you want to get fancy, try the `filladapt' package available
5005 standard with XEmacs. Put this into your `init.el'/`.emacs':
5007 (require 'filladapt)
5008 (setq-default filladapt-mode t)
5009 (add-hook 'c-mode-hook 'turn-off-filladapt-mode)
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:
5016 (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
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
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.
5027 Please note that the `fa-extras' package is no longer useful.
5030 File: xemacs-faq.info, Node: Q5.0.5, Next: Q5.0.6, Prev: Q5.0.4, Up: Miscellaneous
5032 Q5.0.5: How can I get XEmacs to come up in text/auto-fill mode by default?
5033 --------------------------------------------------------------------------
5035 Try the following lisp in your `init.el'/`.emacs':
5037 (setq default-major-mode 'text-mode)
5038 (setq text-mode-hook 'turn-on-auto-fill)
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
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':
5052 (setq initial-major-mode
5055 (turn-on-auto-fill)))
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).
5072 File: xemacs-faq.info, Node: Q5.0.6, Next: Q5.0.7, Prev: Q5.0.5, Up: Miscellaneous
5074 Q5.0.6: How do I start up a second shell buffer?
5075 ------------------------------------------------
5077 In the `*shell*' buffer:
5079 M-x rename-buffer <RET> *shell-1* <RET>
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
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,
5092 File: xemacs-faq.info, Node: Q5.0.7, Next: Q5.0.8, Prev: Q5.0.6, Up: Miscellaneous
5094 Q5.0.7: Telnet from shell filters too much
5095 ------------------------------------------
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?
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.
5107 File: xemacs-faq.info, Node: Q5.0.8, Next: Q5.0.9, Prev: Q5.0.7, Up: Miscellaneous
5109 Q5.0.8: Why does edt emulation not work?
5110 ----------------------------------------
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':
5118 If you don't want it to replace `C-h' with an edt-style help menu
5121 (global-set-key [(control h)] 'help-for-help)
5124 File: xemacs-faq.info, Node: Q5.0.9, Next: Q5.0.10, Prev: Q5.0.8, Up: Miscellaneous
5126 Q5.0.9: How can I emulate VI and use it as my default mode?
5127 -----------------------------------------------------------
5129 Our recommended VI emulator is viper. To make viper-mode the default,
5130 add this to your `init.el'/`.emacs':
5134 Michael Kifer <kifer@CS.SunySB.EDU> writes:
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.
5140 File: xemacs-faq.info, Node: Q5.0.10, Next: Q5.0.11, Prev: Q5.0.9, Up: Miscellaneous
5142 Q5.0.10: [This question intentionally left blank]
5143 -------------------------------------------------
5145 Obsolete question, left blank to avoid renumbering
5148 File: xemacs-faq.info, Node: Q5.0.11, Next: Q5.0.12, Prev: Q5.0.10, Up: Miscellaneous
5150 Q5.0.11: [This question intentionally left blank]
5151 -------------------------------------------------
5153 Obsolete question, left blank to avoid renumbering
5156 File: xemacs-faq.info, Node: Q5.0.12, Next: Q5.0.13, Prev: Q5.0.11, Up: Miscellaneous
5158 Q5.0.12: How do I disable gnuserv from opening a new frame?
5159 -----------------------------------------------------------
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
5165 (setq gnuserv-frame (selected-frame))
5167 early on in your `init.el'/`.emacs', to ensure that the first frame
5168 created is the one used for your gnuserv buffers.
5170 There is an option to set the gnuserv target to the current frame.
5171 See `Options->Display->"Other Window" Location->Make Current Frame
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>'.
5180 File: xemacs-faq.info, Node: Q5.0.13, Next: Q5.0.14, Prev: Q5.0.12, Up: Miscellaneous
5182 Q5.0.13: How do I start gnuserv so that each subsequent XEmacs is a client?
5183 ---------------------------------------------------------------------------
5185 Put the following in your `init.el'/`.emacs' file to start the server:
5189 Start your first XEmacs as usual. After that, you can do:
5191 gnuclient randomfilename
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
5198 See also man page of gnuclient.
5201 File: xemacs-faq.info, Node: Q5.0.14, Next: Q5.0.15, Prev: Q5.0.13, Up: Miscellaneous
5203 Q5.0.14: Strange things are happening in Shell Mode.
5204 ----------------------------------------------------
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
5212 Martin Buchholz <martin@xemacs.org> writes:
5214 There is a known problem with interaction between `csh' and the
5215 `filec' option and XEmacs. You should add the following to your
5218 if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
5221 File: xemacs-faq.info, Node: Q5.0.15, Next: Q5.0.16, Prev: Q5.0.14, Up: Miscellaneous
5223 Q5.0.15: Where do I get the latest CC Mode?
5224 -------------------------------------------
5226 Barry A. Warsaw <bwarsaw@cnri.reston.va.us> writes:
5228 This can be had from `http://www.python.org/emacs/'.
5231 File: xemacs-faq.info, Node: Q5.0.16, Next: Q5.0.17, Prev: Q5.0.15, Up: Miscellaneous
5233 Q5.0.16: I find auto-show-mode disconcerting. How do I turn it off?
5234 --------------------------------------------------------------------
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
5241 (setq auto-show-mode nil)
5242 (setq-default auto-show-mode nil)
5245 File: xemacs-faq.info, Node: Q5.0.17, Next: Q5.0.18, Prev: Q5.0.16, Up: Miscellaneous
5247 Q5.0.17: How can I get two instances of info?
5248 ---------------------------------------------
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?
5254 File: xemacs-faq.info, Node: Q5.0.18, Next: Q5.0.19, Prev: Q5.0.17, Up: Miscellaneous
5256 Q5.0.18: [This question intentionally left blank]
5257 -------------------------------------------------
5260 File: xemacs-faq.info, Node: Q5.0.19, Next: Q5.0.20, Prev: Q5.0.18, Up: Miscellaneous
5262 Q5.0.19: Is there something better than LaTeX mode?
5263 ---------------------------------------------------
5265 David Kastrup <dak@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:
5267 The standard TeX modes leave much to be desired, and are somewhat
5268 leniently maintained. Serious TeX users use AUC TeX (*note
5272 File: xemacs-faq.info, Node: Q5.0.20, Next: Q5.1.1, Prev: Q5.0.19, Up: Miscellaneous
5274 Q5.0.20: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
5275 ---------------------------------------------------------------------------------------------------------
5277 Jan Vroonhof <vroonhof@math.ethz.ch> writes:
5279 Here is one of the solutions, we have this in a script called
5280 `etc/editclient.sh'.
5282 if gnuclient -batch -eval t >/dev/null 2>&1
5284 exec gnuclient ${1+"$@"}
5286 xemacs -unmapped -f gnuserv-start &
5287 until gnuclient -batch -eval t >/dev/null 2>&1
5291 exec gnuclient ${1+"$@"}
5294 Note that there is a known problem when running XEmacs and
5295 'gnuclient -nw' on the same TTY.
5298 File: xemacs-faq.info, Node: Q5.1.1, Next: Q5.1.2, Prev: Q5.0.20, Up: Miscellaneous
5300 5.1: Emacs Lisp Programming Techniques
5301 ======================================
5303 Q5.1.1: What is the difference in key sequences between XEmacs and GNU Emacs?
5304 -----------------------------------------------------------------------------
5306 Erik Naggum <clerik@naggum.no> writes;
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.
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.
5336 File: xemacs-faq.info, Node: Q5.1.2, Next: Q5.1.3, Prev: Q5.1.1, Up: Miscellaneous
5338 Q5.1.2: Can I generate "fake" keyboard events?
5339 ----------------------------------------------
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.
5346 (defun cg--generate-char-event (ch)
5347 "Generate an event, as if ch has been typed"
5348 (dispatch-event (character-to-event ch)))
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)))
5357 File: xemacs-faq.info, Node: Q5.1.3, Next: Q5.1.4, Prev: Q5.1.2, Up: Miscellaneous
5359 Q5.1.3: Could you explain `read-kbd-macro' in more detail?
5360 ----------------------------------------------------------
5362 The `read-kbd-macro' function returns the internal Emacs representation
5363 of a human-readable string (which is its argument). Thus:
5365 (read-kbd-macro "C-c C-a")
5366 => [(control ?c) (control ?a)]
5368 (read-kbd-macro "C-c C-. <up>")
5369 => [(control ?c) (control ?.) up]
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
5375 The exact "human-readable" syntax is defined in the docstring of
5376 `edmacro-mode'. I'll repeat it here, for completeness.
5378 Format of keyboard macros during editing:
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>'.
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.
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.
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.
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:
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'.
5411 * The `^' notation for control characters also works: `^M' ==
5414 * Double angle brackets enclose command names: `<<next-line>>'
5415 is shorthand for `M-x next-line <RET>'.
5417 * Finally, `REM' or `;;' causes the rest of the line to be
5418 ignored as a comment.
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'.
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.
5433 File: xemacs-faq.info, Node: Q5.1.4, Next: Q5.1.5, Prev: Q5.1.3, Up: Miscellaneous
5435 Q5.1.4: What is the performance hit of `let'?
5436 ---------------------------------------------
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.
5445 File: xemacs-faq.info, Node: Q5.1.5, Next: Q5.1.6, Prev: Q5.1.4, Up: Miscellaneous
5447 Q5.1.5: What is the recommended use of `setq'?
5448 ----------------------------------------------
5452 You will typically `defvar' your global variable to a default
5453 value, and use `setq' to set it later.
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':
5461 (let ((case-fold-search nil))
5462 ... ; code with searches that must be case-sensitive
5465 You will notice the user-variables by their docstrings beginning
5466 with an asterisk (a convention).
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.
5478 ;; iterate through the elements of the list returned by
5479 ;; `hairy-function-that-returns-list'
5480 (let ((l (hairy-function-that-returns-list)))
5482 ... do something with (car l) ...
5485 Another typical usage includes building a value simply to work
5488 ;; Build the mode keymap out of the key-translation-alist
5489 (let ((inbox (file-truename (expand-file-name box)))
5491 ... code dealing with inbox ...
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
5499 (setq foo-processed-inbox
5503 File: xemacs-faq.info, Node: Q5.1.6, Next: Q5.1.7, Prev: Q5.1.5, Up: Miscellaneous
5505 Q5.1.6: What is the typical misuse of `setq' ?
5506 ----------------------------------------------
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:
5512 (defun my-function (whatever)
5514 ... build a large list ...
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:
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 ...)
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.
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:
5532 (defun flurgoze nil) ; ok, global internal variable
5535 (setq flurghoze t) ; ops! a typo, but semantically correct.
5536 ; however, the byte-compiler warns.
5538 While compiling toplevel forms:
5539 ** assignment to free variable flurghoze
5542 File: xemacs-faq.info, Node: Q5.1.7, Next: Q5.1.8, Prev: Q5.1.6, Up: Miscellaneous
5544 Q5.1.7: I like the `do' form of cl, does it slow things down?
5545 -------------------------------------------------------------
5547 It shouldn't. Here is what Dave Gillespie has to say about cl.el
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,
5559 are expanded at compile-time to the Lisp forms
5562 (setcar p (cons x (car p)))
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
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.
5578 You can find out how a macro expands by using the `cl-prettyexpand'
5582 File: xemacs-faq.info, Node: Q5.1.8, Next: Q5.1.9, Prev: Q5.1.7, Up: Miscellaneous
5584 Q5.1.8: I like recursion, does it slow things down?
5585 ---------------------------------------------------
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.
5592 Please try not to make your code much uglier to gain a very small
5593 speed gain. It's not usually worth it.
5596 File: xemacs-faq.info, Node: Q5.1.9, Next: Q5.1.10, Prev: Q5.1.8, Up: Miscellaneous
5598 Q5.1.9: How do I put a glyph as annotation in a buffer?
5599 -------------------------------------------------------
5601 Here is a solution that will insert the glyph annotation at the
5602 beginning of buffer:
5604 (make-annotation (make-glyph '([FORMAT :file FILE]
5605 [string :data "fallback-text"]))
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').
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)'.
5619 File: xemacs-faq.info, Node: Q5.1.10, Next: Q5.1.11, Prev: Q5.1.9, Up: Miscellaneous
5621 Q5.1.10: `map-extents' won't traverse all of my extents!
5622 --------------------------------------------------------
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?
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.
5634 (map-extents (lambda (ext ignore)
5636 (message "fubar!")))
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:
5641 (map-extents (lambda (ext ignore)
5647 File: xemacs-faq.info, Node: Q5.1.11, Next: Q5.2.1, Prev: Q5.1.10, Up: Miscellaneous
5649 Q5.1.11: My elisp program is horribly slow. Is there
5650 -----------------------------------------------------
5652 an easy way to find out where it spends time?
5654 Hrvoje Niksic <hniksic@xemacs.org> writes:
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.
5662 File: xemacs-faq.info, Node: Q5.2.1, Next: Q5.2.2, Prev: Q5.1.11, Up: Miscellaneous
5664 Q5.2.1: How do I turn off the sound?
5665 ------------------------------------
5667 Add the following line to your `init.el'/`.emacs':
5669 (setq bell-volume 0)
5670 (setq sound-alist nil)
5672 That will make your XEmacs totally silent--even the default ding
5673 sound (TTY beep on TTY-s) will be gone.
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>'.
5681 File: xemacs-faq.info, Node: Q5.2.2, Next: Q5.2.3, Prev: Q5.2.1, Up: Miscellaneous
5683 Q5.2.2: How do I get funky sounds instead of a boring beep?
5684 -----------------------------------------------------------
5686 Make sure your XEmacs was compiled with sound support, and then put this
5687 in your `init.el'/`.emacs':
5689 (load-default-sounds)
5692 File: xemacs-faq.info, Node: Q5.2.3, Next: Q5.2.4, Prev: Q5.2.2, Up: Miscellaneous
5694 Q5.2.3: What's NAS, how do I get it?
5695 ------------------------------------
5697 *Note Q2.0.3::, for an explanation of the "Network Audio System".
5700 File: xemacs-faq.info, Node: Q5.2.4, Next: Q5.3.1, Prev: Q5.2.3, Up: Miscellaneous
5702 Q5.2.4: Sunsite sounds don't play.
5703 ----------------------------------
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.
5709 Markus Gutschke <gutschk@uni-muenster.de> writes:
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
5721 File: xemacs-faq.info, Node: Q5.3.1, Next: Q5.3.2, Prev: Q5.2.4, Up: Miscellaneous
5726 Q5.3.1: How do you make XEmacs indent CL if-clauses correctly?
5727 --------------------------------------------------------------
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
5733 One way is to add, to `init.el'/`.emacs':
5735 (put 'if 'lisp-indent-function nil)
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
5743 (setq lisp-indent-function (function common-lisp-indent-function))
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:
5748 (put 'if 'common-lisp-indent-function '(nil nil &body))
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.
5756 File: xemacs-faq.info, Node: Q5.3.2, Next: Q5.3.3, Prev: Q5.3.1, Up: Miscellaneous
5758 Q5.3.2: [This question intentionally left blank]
5759 ------------------------------------------------
5761 Obsolete question, left blank to avoid renumbering.
5764 File: xemacs-faq.info, Node: Q5.3.3, Next: Q5.3.4, Prev: Q5.3.2, Up: Miscellaneous
5766 Q5.3.3: How can I print WYSIWYG a font-locked buffer?
5767 -----------------------------------------------------
5769 Font-lock looks nice. How can I print (WYSIWYG) the highlighted
5772 The package `ps-print', which is now included with XEmacs, provides
5773 the ability to do this. The source code contains complete instructions
5775 `$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el', being
5776 the default location of an installed ps-print package.
5779 File: xemacs-faq.info, Node: Q5.3.4, Next: Q5.3.5, Prev: Q5.3.3, Up: Miscellaneous
5781 Q5.3.4: Getting `M-x lpr' to work with postscript printer.
5782 ----------------------------------------------------------
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?
5787 Put something like this in your `init.el'/`.emacs':
5789 (setq lpr-command "a2ps")
5790 (setq lpr-switches '("-p" "-1"))
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.
5797 File: xemacs-faq.info, Node: Q5.3.5, Next: Q5.3.6, Prev: Q5.3.4, Up: Miscellaneous
5799 Q5.3.5: How do I specify the paths that XEmacs uses for finding files?
5800 ----------------------------------------------------------------------
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.
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.
5814 File: xemacs-faq.info, Node: Q5.3.6, Next: Q5.3.7, Prev: Q5.3.5, Up: Miscellaneous
5816 Q5.3.6: [This question intentionally left blank]
5817 ------------------------------------------------
5819 Obsolete question, left blank to avoid renumbering.
5822 File: xemacs-faq.info, Node: Q5.3.7, Next: Q5.3.8, Prev: Q5.3.6, Up: Miscellaneous
5824 Q5.3.7: Can I have the end of the buffer delimited in some way?
5825 ---------------------------------------------------------------
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]"])))
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:
5841 (make-glyph '([xpm :file "~/something.xpm"]
5842 [string :data "[END]"]))
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:
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 "\
5854 static char* eye = {
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__________\",
5875 [string :data "[END]"]))))
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.
5881 File: xemacs-faq.info, Node: Q5.3.8, Next: Q5.3.9, Prev: Q5.3.7, Up: Miscellaneous
5883 Q5.3.8: How do I insert today's date into a buffer?
5884 ---------------------------------------------------
5888 (insert (current-time-string))
5891 File: xemacs-faq.info, Node: Q5.3.9, Next: Q5.3.10, Prev: Q5.3.8, Up: Miscellaneous
5893 Q5.3.9: Are only certain syntactic character classes available for abbrevs?
5894 ---------------------------------------------------------------------------
5896 Markus Gutschke <gutschk@uni-muenster.de> writes:
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.
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.
5909 Starting with XEmacs 20.3 this restriction has been lifted.
5912 File: xemacs-faq.info, Node: Q5.3.10, Next: Q5.3.11, Prev: Q5.3.9, Up: Miscellaneous
5914 Q5.3.10: How can I get those oh-so-neat X-Face lines?
5915 -----------------------------------------------------
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/'.
5923 1. Create 48x48x1 bitmap with your favorite tool
5925 2. Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
5926 and then compile the face.
5928 3. cat file.xbm | xbm2ikon |compface > file.face
5930 4. Then be sure to quote things that are necessary for emacs strings:
5932 cat ./file.face | sed 's/\\/\\\\/g'
5933 | sed 's/\"/\\\"/g' > ./file.face.quoted
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:
5938 (setq mail-default-headers
5939 "X-Face: <Ugly looking text string here>")
5941 Or, alternatively, as:
5943 (defun mail-insert-x-face ()
5945 (goto-char (point-min))
5946 (search-forward mail-header-separator)
5949 (insert-file-contents "~/.face")))
5951 (add-hook 'mail-setup-hook 'mail-insert-x-face)
5953 However, 2 things might be wrong:
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:
5959 cat file.xbm | xbm2ikon | tail +3 |compface > file.face
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 .
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
5968 Contributors for this item:
5970 Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, Heinz Uphoff,
5971 Peter Arius, Paul Harrison, and Vegard Vesterheim
5974 File: xemacs-faq.info, Node: Q5.3.11, Next: Q5.3.12, Prev: Q5.3.10, Up: Miscellaneous
5976 Q5.3.11: How do I add new Info directories?
5977 -------------------------------------------
5979 You use something like:
5981 (setq Info-directory-list (cons
5982 (expand-file-name "~/info")
5983 Info-default-directory-list))
5985 David Masterson <davidm@prism.kla.com> writes:
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
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.
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.
5999 3. Emacs Info looks for a standard `dir' file in each of the
6000 directories scanned from #1 and magically concatenates them
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
6010 Another alternative is to convert the documentation to HTML with
6011 texi2html and read it from a web browser like Lynx or W3.
6014 File: xemacs-faq.info, Node: Q5.3.12, Prev: Q5.3.11, Up: Miscellaneous
6016 Q5.3.12: What do I need to change to make printing work?
6017 --------------------------------------------------------
6019 For regular printing there are two variables that can be customized.
6022 This should be set to a command that takes standard input and sends
6023 it to a printer. Something like:
6025 (setq lpr-command "lp")
6028 This should be set to a list that contains whatever the print
6029 command requires to do its job. Something like:
6031 (setq lpr-switches '("-depson"))
6033 For postscript printing there are three analogous variables to
6037 This should be set to a command that takes postscript on standard
6038 input and directs it to a postscript printer.
6041 This should be set to a list of switches required for
6042 `ps-lpr-command' to do its job.
6045 This boolean variable should be set `t' if printing will be done in
6046 color, otherwise it should be set to `nil'.
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.
6053 File: xemacs-faq.info, Node: MS Windows, Next: Current Events, Prev: Miscellaneous, Up: Top
6055 6 XEmacs on MS Windows
6056 **********************
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
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?
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?
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?
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?
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"
6101 File: xemacs-faq.info, Node: Q6.0.1, Next: Q6.0.2, Prev: MS Windows, Up: MS Windows
6106 Q6.0.1: What is the status of the XEmacs port to Windows?
6107 ---------------------------------------------------------
6109 Is XEmacs really ported to MS Windows? What is the status of the port?
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.)
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.
6125 File: xemacs-faq.info, Node: Q6.0.2, Next: Q6.0.3, Prev: Q6.0.1, Up: MS Windows
6127 Q6.0.2: What flavors of MS Windows are supported? The list name implies NT only.
6128 ---------------------------------------------------------------------------------
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
6136 XEmacs also supports the Cygwin and MinGW development and runtime
6137 environments, where it also uses native Windows code for graphical
6141 File: xemacs-faq.info, Node: Q6.0.3, Next: Q6.0.4, Prev: Q6.0.2, Up: MS Windows
6143 Q6.0.3: Are binaries available?
6144 -------------------------------
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
6150 The 21.4 binaries use a modified version of the Cygwin installer.
6151 Run the provided `setup.exe', and follow the instructions.
6154 File: xemacs-faq.info, Node: Q6.0.4, Next: Q6.0.5, Prev: Q6.0.3, Up: MS Windows
6156 Q6.0.4: Can I build XEmacs on MS Windows with X support? Do I need to?
6157 -----------------------------------------------------------------------
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
6164 File: xemacs-faq.info, Node: Q6.0.5, Next: Q6.0.6, Prev: Q6.0.4, Up: MS Windows
6166 Q6.0.5: I'd like to help out. What do I do?
6167 --------------------------------------------
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.
6174 Otherwise, you can still help by downloading the binaries, using
6175 XEmacs as your everyday editor and reporting bugs you find to the
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.
6183 File: xemacs-faq.info, Node: Q6.0.6, Next: Q6.0.7, Prev: Q6.0.5, Up: MS Windows
6185 Q6.0.6: What are Cygwin and MinGW, and do I need them to run XEmacs?
6186 --------------------------------------------------------------------
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.
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.)
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.
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
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.
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).
6225 See `http://sources.redhat.com/cygwin/' for more information on
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.)
6244 See `http://www.mingw.org/' for more information on MinGW.
6247 File: xemacs-faq.info, Node: Q6.0.7, Next: Q6.1.1, Prev: Q6.0.6, Up: MS Windows
6249 Q6.0.7: What exactly are all the different ways to build XEmacs under Windows?
6250 ------------------------------------------------------------------------------
6252 XEmacs can be built in several ways in the MS Windows environment.
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.
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
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
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.)
6278 File: xemacs-faq.info, Node: Q6.1.1, Next: Q6.1.2, Prev: Q6.0.7, Up: MS Windows
6280 6.1: Building XEmacs on MS Windows
6281 ==================================
6283 Q6.1.1: What compiler/libraries do I need to compile XEmacs?
6284 ------------------------------------------------------------
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.
6294 File: xemacs-faq.info, Node: Q6.1.2, Next: Q6.1.3, Prev: Q6.1.1, Up: MS Windows
6296 Q6.1.2: How do I compile the native port?
6297 -----------------------------------------
6299 Please read the file `nt/README' in the XEmacs distribution, which
6300 contains the full description.
6303 File: xemacs-faq.info, Node: Q6.1.3, Next: Q6.1.4, Prev: Q6.1.2, Up: MS Windows
6305 Q6.1.3: What do I need for Cygwin?
6306 ----------------------------------
6308 You can find the Cygwin tools and compiler at:
6310 `http://sources.redhat.com/cygwin/'
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,
6319 If you want to compile under X, you will also need the X libraries;
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'.
6328 File: xemacs-faq.info, Node: Q6.1.4, Next: Q6.1.5, Prev: Q6.1.3, Up: MS Windows
6330 Q6.1.4: How do I compile under Cygwin?
6331 --------------------------------------
6333 Similar as on Unix; use the usual `configure' and `make' process. Some
6334 problems to watch out for:
6336 * make sure HOME is set. This controls where you `init.el'/`.emacs'
6339 * CYGWIN needs to be set to tty for process support to work, e.g.
6342 * picking up some other grep or other UNIX-like tools can kill
6345 * static heap too small, adjust `src/sheap-adjust.h' to a more
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;
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
6358 /usr/lib/libXpm.a -> /usr/lib/libXpm-noX.a
6359 /usr/lib/libXpm.dll.a -> /usr/lib/libXpm-noX.dll.a
6361 (This advice may now be obsolete because of the availability of the
6362 cygXpm-noX4.dll package from Cygwin. Send confirmation to
6365 * Other problems are listed in the `PROBLEMS' file, in the top-level
6366 directory of the XEmacs sources.
6370 File: xemacs-faq.info, Node: Q6.1.5, Next: Q6.1.6, Prev: Q6.1.4, Up: MS Windows
6372 Q6.1.5: How do I compile using MinGW (aka `the -mno-cygwin flag to gcc')?
6373 -------------------------------------------------------------------------
6375 Similar to the method for Unix. Things to remember:
6377 * Specify the target host on the command line for `./configure', e.g.
6378 `./configure i586-pc-mingw32'.
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').
6384 * Build `gcc -mno-cygwin' versions of the extra libs, i.e. `libpng',
6387 * Specify the target location of the extra libs on the command line
6388 to `configure', e.g. `./configure --site-prefixes=/build/libs
6392 File: xemacs-faq.info, Node: Q6.1.6, Next: Q6.1.7, Prev: Q6.1.5, Up: MS Windows
6394 Q6.1.6: I decided to run with X. Where do I get an X server?
6395 -------------------------------------------------------------
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.
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.
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'.
6414 File: xemacs-faq.info, Node: Q6.1.7, Next: Q6.2.1, Prev: Q6.1.6, Up: MS Windows
6416 Q6.1.7: How do I compile with X support?
6417 ----------------------------------------
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.
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.
6430 File: xemacs-faq.info, Node: Q6.2.1, Next: Q6.2.2, Prev: Q6.1.7, Up: MS Windows
6432 6.2: Customization and User Interface
6433 =====================================
6435 Q6.2.1: How does the port cope with differences in the Windows user interface?
6436 ------------------------------------------------------------------------------
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?
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.
6456 In future versions, some of these features might be turned on by
6457 default in the MS Windows environment.
6460 File: xemacs-faq.info, Node: Q6.2.2, Next: Q6.2.3, Prev: Q6.2.1, Up: MS Windows
6462 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
6463 ------------------------------------------------------
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:
6468 (set-face-font 'default "Lucida Console:Regular:10")
6469 (set-face-font 'modeline "MS Sans Serif:Regular:10")
6472 File: xemacs-faq.info, Node: Q6.2.3, Next: Q6.2.4, Prev: Q6.2.2, Up: MS Windows
6474 Q6.2.3: Where do I put my `init.el'/`.emacs' file?
6475 --------------------------------------------------
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:\'.
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.
6488 File: xemacs-faq.info, Node: Q6.2.4, Next: Q6.2.5, Prev: Q6.2.3, Up: MS Windows
6490 Q6.2.4: How do I get Windows Explorer to associate a file type with XEmacs?
6491 ---------------------------------------------------------------------------
6493 Associating a new file type with XEmacs.
6494 ........................................
6496 In Explorer select `View/Options/File Types', press `[New Type...]' and
6497 fill in the dialog box, e.g.:
6499 Description of type: Emacs Lisp source
6500 Associated extension: el
6501 Content Type (MIME): text/plain
6503 then press `[New...]' and fill in the `Action' dialog box as follows:
6508 Application used to perform action:
6509 D:\Full\path\for\xemacs.exe "%1"
6519 DDE Application Not Running:
6525 Associating an existing file type with XEmacs.
6526 ..............................................
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.
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'.
6537 Note for Windows 2000 users: Under Windows 2000, get to `File Types'
6538 using `Control Panel->Folder Options->File Types'.
6541 File: xemacs-faq.info, Node: Q6.2.5, Next: Q6.3.1, Prev: Q6.2.4, Up: MS Windows
6543 Q6.2.5: Is it possible to print from XEmacs?
6544 --------------------------------------------
6546 As of 21.4, printing works on Windows, using simply `File->Print', and
6547 can be configured with `File->Page Setup'.
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
6554 File: xemacs-faq.info, Node: Q6.3.1, Next: Q6.3.2, Prev: Q6.2.5, Up: MS Windows
6559 Q6.3.1: Does XEmacs rename all the `win32-*' symbols to `w32-*'?
6560 ----------------------------------------------------------------
6562 In his flavor of Emacs 20, Richard Stallman has renamed all the
6563 `win32-*' symbols to `w32-*'. Does XEmacs do the same?
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.
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.
6581 File: xemacs-faq.info, Node: Q6.3.2, Next: Q6.3.3, Prev: Q6.3.1, Up: MS Windows
6583 Q6.3.2: What are the differences between the various MS Windows emacsen?
6584 ------------------------------------------------------------------------
6586 XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
6587 Could you briefly explain the differences between them?
6589 Here is a recount of various Emacs versions running on MS Windows:
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
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.
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)
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.
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'.
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
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.
6642 * GNU Emacs compiled with Win32
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.
6653 File: xemacs-faq.info, Node: Q6.3.3, Next: Q6.3.4, Prev: Q6.3.2, Up: MS Windows
6655 Q6.3.3: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
6656 -----------------------------------------------------------------------------------------------------------
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.
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
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.
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.)
6705 File: xemacs-faq.info, Node: Q6.3.4, Next: Q6.4.1, Prev: Q6.3.3, Up: MS Windows
6707 Q6.3.4: What is the porting team doing at the moment?
6708 -----------------------------------------------------
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
6719 File: xemacs-faq.info, Node: Q6.4.1, Next: Q6.4.2, Prev: Q6.3.4, Up: MS Windows
6721 6.3: Troubleshooting
6722 ====================
6724 Q6.4.1 XEmacs won't start on Windows.
6725 -------------------------------------
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.
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::.
6745 File: xemacs-faq.info, Node: Q6.4.2, Next: Q6.4.3, Prev: Q6.4.1, Up: MS Windows
6747 Q6.4.2 Why do I get a blank toolbar on Windows 95?
6748 --------------------------------------------------
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.
6757 File: xemacs-faq.info, Node: Q6.4.3, Prev: Q6.4.2, Up: MS Windows
6759 Q6.4.3 XEmacs complains "No such file or directory, diff"
6760 ---------------------------------------------------------
6762 or "ispell" or other commands that seem related to whatever you just
6763 tried to do (M-x ediff or M-$, for example).
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,
6775 File: xemacs-faq.info, Node: Current Events, Next: Legacy Versions, Prev: MS Windows, Up: Top
6777 7 What the Future Holds
6778 ***********************
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.)
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.
6791 Information on older versions of XEmacs can be find in `ONEWS' in
6792 the same directory, or `OONEWS' for really old versions.
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?
6804 File: xemacs-faq.info, Node: Q7.0.1, Next: Q7.0.2, Prev: Current Events, Up: Current Events
6809 Q7.0.1: What new features will be in XEmacs soon?
6810 -------------------------------------------------
6815 File: xemacs-faq.info, Node: Q7.0.2, Next: Q7.0.3, Prev: Q7.0.1, Up: Current Events
6817 Q7.0.2: What's new in XEmacs 21.4?
6818 ----------------------------------
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.
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
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.
6841 User-visible changes in XEmacs 21.4
6842 ...................................
6844 * The delete key now deletes forward by default.
6846 * Shifted motion keys now select text by default.
6848 * You can now build XEmacs with support for GTK+ widget set.
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.)
6854 * Much-improved sample init.el, showing how to use many useful
6857 * XEmacs support for menu accelerators has been much improved.
6859 * Default menubar improvements. (Default menubar has many new
6860 commands and better organization. The font-menu is now available
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...)
6871 * There is a new MS Windows installer, netinstall, ported from
6874 * The subprocess quote-handling mechanism under Windows is much
6877 * Printing support now available under MS Windows.
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
6884 * Mail spool locking now works correctly.
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.)
6892 * Help buffers contain hyperlinks, and other changes.
6894 * The modeline's text is now scrollable.
6896 * The mouse wheel under MS Windows now functions correctly.
6898 * Interactive searching and matching case improvements. (Incremental
6899 search will now highlight all visible matches. Interactive
6900 searches always respect uppercase characters.)
6902 * Rectangle functions rewritten to avoid inserting extra spaces.
6904 * New command `kill-entire-line' that always kills the entire line.
6906 * Default values correctly stored in minibuffer histories.
6908 * You can now create "indirect buffers", like in GNU Emacs.
6910 * Pixel-based scrolling has been implemented.
6912 * Operation progress can be displayed using graphical widgets.
6914 * User names following a tilde can now be completed at file name
6917 * XEmacs can now play sound using Enlightenment Sound Daemon (ESD).
6919 * X-Face support is now available under MS Windows.
6921 * The PostgreSQL Relational Database Management System is now
6924 * Indentation no longer indents comments that begin at column zero.
6926 * Face and variable settings can have comments in Customize.
6928 * New locations for early package hierarchies.
6930 * The `auto-save' library has been greatly improved.
6932 * New variable `mswindows-alt-by-itself-activates-menu'.
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.)
6938 * Etags changes. See `NEWS' for full details.
6940 Lisp and internal changes in XEmacs 21.4
6941 ........................................
6946 File: xemacs-faq.info, Node: Q7.0.3, Next: Q7.0.4, Prev: Q7.0.2, Up: Current Events
6948 Q7.0.3: What's new in XEmacs 21.1?
6949 ----------------------------------
6951 21.1 was the "stable" version of "experimental" 21.0 series. *Note
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.
6959 User-visible changes in XEmacs 21.1
6960 ...................................
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>.
6966 * XEmacs has been unbundled into constituent installable packages.
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.
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.
6979 * *New packages*: `imenu', `popper', `gdb-highlight'
6981 * *Package changes*: Many changes to `cc-mode', `gnus', `gnuclient'.
6982 See `NEWS' for full details.
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.
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.
7002 * *Other changes*: Under X, new application class `XEmacs';
7003 byte-compilation of user-specs now works.
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
7012 Lisp and internal changes in XEmacs 21.1
7013 ........................................
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.
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'.
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'.
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'.
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'.
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.
7066 File: xemacs-faq.info, Node: Q7.0.4, Next: Q7.0.5, Prev: Q7.0.3, Up: Current Events
7068 Q7.0.4: What's new in XEmacs 20.4?
7069 ----------------------------------
7071 XEmacs 20.4 is a bugfix release with no user-visible changes.
7074 File: xemacs-faq.info, Node: Q7.0.5, Next: Q7.0.6, Prev: Q7.0.4, Up: Current Events
7076 Q7.0.5: What's new in XEmacs 20.3?
7077 ----------------------------------
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.
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.
7093 XEmacs 20.3 is the first non-beta v20 release, and will be the basis
7094 for all further development.
7097 File: xemacs-faq.info, Node: Q7.0.6, Prev: Q7.0.5, Up: Current Events
7099 Q7.0.6: What's new in XEmacs 20.2?
7100 ----------------------------------
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'.
7108 XEmacs 20.2 is the development release (20.0 was beta), and is no
7109 longer considered unstable.
7111 For older news, see the file `ONEWS' in the `etc' directory of the
7112 XEmacs distribution.
7115 File: xemacs-faq.info, Node: Legacy Versions, Prev: Current Events, Up: Top
7117 8 New information about old XEmacsen
7118 ************************************
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.
7129 * Q8.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
7132 File: xemacs-faq.info, Node: Q8.0.1, Up: Legacy Versions
7134 Q8.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
7135 -------------------------------------------------------
7137 Eric Eide <eeide@cs.utah.edu> wrote:
7141 Eric> Summary: with Gnus 5.10.1 in XEmacs 21.1.14, I don't see
7142 Eric> any smileys :-(.
7144 After a bit of sleuthing, I discovered the essence of the problem.
7148 (insert-file-contents "foo.xpm")
7151 returns the empty string. This is because something somewhere
7152 replaces the XPM data with a glyph -- I haven't figured out where
7155 Kyle Jones <kyle_jones@wonderworks.com> replies:
7159 (setq format-alist nil)
7161 The image-mode stuff is gone from format-alist in the 21.4 branch,
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