994490dae737d8e351f8985b98c0279491302014
[chise/xemacs-chise.git-] / info / xemacs-faq.info-5
1 This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
2 xemacs-faq.texi.
3
4 INFO-DIR-SECTION XEmacs Editor
5 START-INFO-DIR-ENTRY
6 * FAQ: (xemacs-faq).            XEmacs FAQ.
7 END-INFO-DIR-ENTRY
8
9 \1f
10 File: xemacs-faq.info,  Node: Q5.1.10,  Next: Q5.1.11,  Prev: Q5.1.9,  Up: Miscellaneous
11
12 Q5.1.10: `map-extents' won't traverse all of my extents!
13 --------------------------------------------------------
14
15    I tried to use `map-extents' to do an operation on all the extents
16 in a region.  However, it seems to quit after processing a random number
17 of extents.  Is it buggy?
18
19    No.  The documentation of `map-extents' states that it will iterate
20 across the extents as long as FUNCTION returns `nil'.  Unexperienced
21 programmers often forget to return `nil' explicitly, which results in
22 buggy code.  For instance, the following code is supposed to delete all
23 the extents in a buffer, and issue as many `fubar!' messages.
24
25      (map-extents (lambda (ext ignore)
26                     (delete-extent ext)
27                     (message "fubar!")))
28
29    Instead, it will delete only the first extent, and stop right there -
30 because `message' will return a non-nil value.  The correct code is:
31
32      (map-extents (lambda (ext ignore)
33                     (delete-extent ext)
34                     (message "fubar!")
35                     nil))
36
37 \1f
38 File: xemacs-faq.info,  Node: Q5.1.11,  Next: Q5.2.1,  Prev: Q5.1.10,  Up: Miscellaneous
39
40 Q5.1.11: My elisp program is horribly slow.  Is there
41 -----------------------------------------------------
42
43    an easy way to find out where it spends time?
44
45    Hrvoje Niksic <hniksic@xemacs.org> writes:
46      Under XEmacs 20.4 and later you can use `M-x profile-key-sequence',
47      press a key (say <RET> in the Gnus Group buffer), and get the
48      results using `M-x profile-results'.  It should give you an idea of
49      where the time is being spent.
50
51 \1f
52 File: xemacs-faq.info,  Node: Q5.2.1,  Next: Q5.2.2,  Prev: Q5.1.11,  Up: Miscellaneous
53
54 Q5.2.1: How do I turn off the sound?
55 ------------------------------------
56
57    Add the following line to your `init.el'/`.emacs':
58
59      (setq bell-volume 0)
60      (setq sound-alist nil)
61
62    That will make your XEmacs totally silent--even the default ding
63 sound (TTY beep on TTY-s) will be gone.
64
65    Starting with XEmacs 20.2 you can also change these with Customize.
66 Select from the `Options' menu `Advanced
67 (Customize)->Emacs->Environment->Sound->Sound...' or type `M-x
68 customize <RET> sound <RET>'.
69
70 \1f
71 File: xemacs-faq.info,  Node: Q5.2.2,  Next: Q5.2.3,  Prev: Q5.2.1,  Up: Miscellaneous
72
73 Q5.2.2: How do I get funky sounds instead of a boring beep?
74 -----------------------------------------------------------
75
76    Make sure your XEmacs was compiled with sound support, and then put
77 this in your `init.el'/`.emacs':
78
79      (load-default-sounds)
80
81 \1f
82 File: xemacs-faq.info,  Node: Q5.2.3,  Next: Q5.2.4,  Prev: Q5.2.2,  Up: Miscellaneous
83
84 Q5.2.3: What's NAS, how do I get it?
85 ------------------------------------
86
87    *Note Q2.0.3::, for an explanation of the "Network Audio System".
88
89 \1f
90 File: xemacs-faq.info,  Node: Q5.2.4,  Next: Q5.3.1,  Prev: Q5.2.3,  Up: Miscellaneous
91
92 Q5.2.4: Sunsite sounds don't play.
93 ----------------------------------
94
95    I'm having some trouble with sounds I've downloaded from sunsite.
96 They play when I run them through `showaudio' or cat them directly to
97 `/dev/audio', but XEmacs refuses to play them.
98
99    Markus Gutschke <gutschk@uni-muenster.de> writes:
100
101      [Many of] These files have an (erroneous) 24byte header that tells
102      about the format that they have been recorded in. If you cat them
103      to `/dev/audio', the header will be ignored and the default
104      behavior for /dev/audio will be used. This happens to be 8kHz
105      uLaw. It is probably possible to fix the header by piping through
106      `sox' and passing explicit parameters for specifying the sampling
107      format; you then need to perform a 'null' conversion from SunAudio
108      to SunAudio.
109
110 \1f
111 File: xemacs-faq.info,  Node: Q5.3.1,  Next: Q5.3.2,  Prev: Q5.2.4,  Up: Miscellaneous
112
113 5.3: Miscellaneous
114 ==================
115
116 Q5.3.1: How do you make XEmacs indent CL if-clauses correctly?
117 --------------------------------------------------------------
118
119    I'd like XEmacs to indent all the clauses of a Common Lisp `if' the
120 same amount instead of indenting the 3rd clause differently from the
121 first two.
122
123    One way is to add, to `init.el'/`.emacs':
124
125      (put 'if 'lisp-indent-function nil)
126
127    However, note that the package `cl-indent' that comes with XEmacs
128 sets up this kind of indentation by default.  `cl-indent' also knows
129 about many other CL-specific forms.  To use `cl-indent', one can do
130 this:
131
132      (load "cl-indent")
133      (setq lisp-indent-function (function common-lisp-indent-function))
134
135    One can also customize `cl-indent.el' so it mimics the default `if'
136 indentation `then' indented more than the `else'.  Here's how:
137
138      (put 'if 'common-lisp-indent-function '(nil nil &body))
139
140    Also, a new version (1.2) of `cl-indent.el' was posted to
141 comp.emacs.xemacs on 12/9/94.  This version includes more documentation
142 than previous versions.  This may prove useful if you need to customize
143 any indent-functions.
144
145 \1f
146 File: xemacs-faq.info,  Node: Q5.3.2,  Next: Q5.3.3,  Prev: Q5.3.1,  Up: Miscellaneous
147
148 Q5.3.2: [This question intentionally left blank]
149 ------------------------------------------------
150
151    Obsolete question, left blank to avoid renumbering.
152
153 \1f
154 File: xemacs-faq.info,  Node: Q5.3.3,  Next: Q5.3.4,  Prev: Q5.3.2,  Up: Miscellaneous
155
156 Q5.3.3: How can I print WYSIWYG a font-locked buffer?
157 -----------------------------------------------------
158
159    Font-lock looks nice.  How can I print (WYSIWYG) the highlighted
160 document?
161
162    The package `ps-print', which is now included with XEmacs, provides
163 the ability to do this.  The source code contains complete instructions
164 on its use, in `<xemacs_src_root>/lisp/packages/ps-print.el'.
165
166 \1f
167 File: xemacs-faq.info,  Node: Q5.3.4,  Next: Q5.3.5,  Prev: Q5.3.3,  Up: Miscellaneous
168
169 Q5.3.4: Getting `M-x lpr' to work with postscript printer.
170 ----------------------------------------------------------
171
172    My printer is a Postscript printer and `lpr' only works for
173 Postscript files, so how do I get `M-x lpr-region' and `M-x lpr-buffer'
174 to work?
175
176    Put something like this in your `init.el'/`.emacs':
177
178      (setq lpr-command "a2ps")
179      (setq lpr-switches '("-p" "-1"))
180
181    If you don't use a2ps to convert ASCII to postscript (why not, it's
182 free?), replace with the command you do use.  Note also that some
183 versions of a2ps require a `-Pprinter' to ensure spooling.
184
185 \1f
186 File: xemacs-faq.info,  Node: Q5.3.5,  Next: Q5.3.6,  Prev: Q5.3.4,  Up: Miscellaneous
187
188 Q5.3.5: How do I specify the paths that XEmacs uses for finding files?
189 ----------------------------------------------------------------------
190
191    You can specify what paths to use by using a number of different
192 flags when running configure.  See the section MAKE VARIABLES in the
193 top-level file INSTALL in the XEmacs distribution for a listing of
194 those flags.
195
196    Most of the time, however, the simplest fix is: *do not* specify
197 paths as you might for GNU Emacs.  XEmacs can generally determine the
198 necessary paths dynamically at run time.  The only path that generally
199 needs to be specified is the root directory to install into.  That can
200 be specified by passing the `--prefix' flag to configure.  For a
201 description of the XEmacs install tree, please consult the `NEWS' file.
202
203 \1f
204 File: xemacs-faq.info,  Node: Q5.3.6,  Next: Q5.3.7,  Prev: Q5.3.5,  Up: Miscellaneous
205
206 Q5.3.6: [This question intentionally left blank]
207 ------------------------------------------------
208
209    Obsolete question, left blank to avoid renumbering.
210
211 \1f
212 File: xemacs-faq.info,  Node: Q5.3.7,  Next: Q5.3.8,  Prev: Q5.3.6,  Up: Miscellaneous
213
214 Q5.3.7: Can I have the end of the buffer delimited in some way?
215 ---------------------------------------------------------------
216
217    Say, with: `[END]'?
218
219    Try this:
220
221      (let ((ext (make-extent (point-min) (point-max))))
222        (set-extent-property ext 'start-closed t)
223        (set-extent-property ext 'end-closed t)
224        (set-extent-property ext 'detachable nil)
225        (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
226
227    Since this is XEmacs, you can specify an icon to be shown on
228 window-system devices.  To do so, change the `make-glyph' call to
229 something like this:
230
231      (make-glyph '([xpm :file "~/something.xpm"]
232                    [string :data "[END]"]))
233
234    You can inline the XPM definition yourself by specifying `:data'
235 instead of `:file'.  Here is such a full-featured version that works on
236 both X and TTY devices:
237
238      (let ((ext (make-extent (point-min) (point-max))))
239        (set-extent-property ext 'start-closed t)
240        (set-extent-property ext 'end-closed t)
241        (set-extent-property ext 'detachable nil)
242        (set-extent-end-glyph ext (make-glyph '([xpm :data "\
243      /* XPM */
244      static char* eye = {
245      \"20 11 7 2\",
246      \"__ c None\"
247      \"_` c #7f7f7f\",
248      \"_a c #fefefe\",
249      \"_b c #7f0000\",
250      \"_c c #fefe00\",
251      \"_d c #fe0000\",
252      \"_e c #bfbfbf\",
253      \"___________`_`_`___b_b_b_b_________`____\",
254      \"_________`_`_`___b_c_c_c_b_b____________\",
255      \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
256      \"___`_`_e_a___b_b_d___b___b___b___b______\",
257      \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
258      \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
259      \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
260      \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
261      \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
262      \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
263      \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
264      } ;"]
265                                                [string :data "[END]"]))))
266
267    Note that you might want to make this a function, and put it to a
268 hook.  We leave that as an exercise for the reader.
269
270 \1f
271 File: xemacs-faq.info,  Node: Q5.3.8,  Next: Q5.3.9,  Prev: Q5.3.7,  Up: Miscellaneous
272
273 Q5.3.8: How do I insert today's date into a buffer?
274 ---------------------------------------------------
275
276    Like this:
277
278      (insert (current-time-string))
279
280 \1f
281 File: xemacs-faq.info,  Node: Q5.3.9,  Next: Q5.3.10,  Prev: Q5.3.8,  Up: Miscellaneous
282
283 Q5.3.9: Are only certain syntactic character classes available for abbrevs?
284 ---------------------------------------------------------------------------
285
286    Markus Gutschke <gutschk@uni-muenster.de> writes:
287
288      Yes, abbrevs only expands word-syntax strings. While XEmacs does
289      not prevent you from defining (e.g. with `C-x a g' or `C-x a l')
290      abbrevs that contain special characters, it will refuse to expand
291      them. So you need to ensure, that the abbreviation contains
292      letters and digits only. This means that `xd', `d5', and `5d' are
293      valid abbrevs, but `&d', and `x d' are not.
294
295      If this sounds confusing to you, (re-)read the online
296      documentation for abbrevs (`C-h i m XEmacs <RET> m Abbrevs
297      <RET>'), and then come back and read this question/answer again.
298
299    Starting with XEmacs 20.3 this restriction has been lifted.
300
301 \1f
302 File: xemacs-faq.info,  Node: Q5.3.10,  Next: Q5.3.11,  Prev: Q5.3.9,  Up: Miscellaneous
303
304 Q5.3.10: How can I get those oh-so-neat X-Face lines?
305 -----------------------------------------------------
306
307    Firstly there is an ftp site which describes X-faces and has the
308 associated tools mentioned below, at
309 `ftp://ftp.cs.indiana.edu:/pub/faces/'.
310
311    Then the steps are
312
313   1. Create 48x48x1 bitmap with your favorite tool
314
315   2. Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
316      and then compile the face.
317
318   3.      cat file.xbm | xbm2ikon |compface > file.face
319
320   4. Then be sure to quote things that are necessary for emacs strings:
321
322           cat ./file.face | sed 's/\\/\\\\/g'
323           | sed 's/\"/\\\"/g' > ./file.face.quoted
324
325   5. Then set up emacs to include the file as a mail header - there
326      were a couple of suggestions here--either something like:
327
328           (setq  mail-default-headers
329                  "X-Face:  <Ugly looking text string here>")
330
331      Or, alternatively, as:
332
333           (defun mail-insert-x-face ()
334             (save-excursion
335               (goto-char (point-min))
336               (search-forward mail-header-separator)
337               (beginning-of-line)
338               (insert "X-Face:")
339               (insert-file-contents "~/.face")))
340           
341           (add-hook 'mail-setup-hook 'mail-insert-x-face)
342
343    However, 2 things might be wrong:
344
345    Some versions of pbmtoicon produces some header lines that is not
346 expected by the version of compface that I grabbed. So I found I had to
347 include a `tail +3' in the pipeline like this:
348
349      cat file.xbm | xbm2ikon | tail +3 |compface > file.face
350
351    Some people have also found that if one uses the `(insert-file)'
352 method, one should NOT quote the face string using the sed script .
353
354    It might also be helpful to use Stig's <stig@hackvan.com> script
355 (included in the compface distribution at XEmacs.org) to do the
356 conversion.
357
358    Contributors for this item:
359
360    Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, Heinz Uphoff,
361 Peter Arius, Paul Harrison, and Vegard Vesterheim
362
363 \1f
364 File: xemacs-faq.info,  Node: Q5.3.11,  Next: Q5.3.12,  Prev: Q5.3.10,  Up: Miscellaneous
365
366 Q5.3.11: How do I add new Info directories?
367 -------------------------------------------
368
369    You use something like:
370
371      (setq Info-directory-list (cons
372                                 (expand-file-name "~/info")
373                                 Info-default-directory-list))
374
375    David Masterson <davidm@prism.kla.com> writes:
376
377      Emacs Info and XEmacs Info do many things differently.  If you're
378      trying to support a number of versions of Emacs, here are some
379      notes to remember:
380
381        1. Emacs Info scans `Info-directory-list' from right-to-left
382           while XEmacs Info reads it from left-to-right, so append to
383           the _correct_ end of the list.
384
385        2. Use `Info-default-directory-list' to initialize
386           `Info-directory-list' _if_ it is available at startup, but not
387           all Emacsen define it.
388
389        3. Emacs Info looks for a standard `dir' file in each of the
390           directories scanned from #1 and magically concatenates them
391           together.
392
393        4. XEmacs Info looks for a `localdir' file (which consists of
394           just the menu entries from a `dir' file) in each of the
395           directories scanned from #1 (except the first), does a simple
396           concatenation of them, and magically attaches the resulting
397           list to the end of the menu in the `dir' file in the first
398           directory.
399
400      Another alternative is to convert the documentation to HTML with
401      texi2html and read it from a web browser like Lynx or W3.
402
403 \1f
404 File: xemacs-faq.info,  Node: Q5.3.12,  Prev: Q5.3.11,  Up: Miscellaneous
405
406 Q5.3.12: What do I need to change to make printing work?
407 --------------------------------------------------------
408
409    For regular printing there are two variables that can be customized.
410
411 `lpr-command'
412      This should be set to a command that takes standard input and sends
413      it to a printer.  Something like:
414
415           (setq lpr-command "lp")
416
417 `lpr-switches'
418      This should be set to a list that contains whatever the print
419      command requires to do its job.  Something like:
420
421           (setq lpr-switches '("-depson"))
422
423    For postscript printing there are three analogous variables to
424 customize.
425
426 `ps-lpr-command'
427      This should be set to a command that takes postscript on standard
428      input and directs it to a postscript printer.
429
430 `ps-lpr-switches'
431      This should be set to a list of switches required for
432      `ps-lpr-command' to do its job.
433
434 `ps-print-color-p'
435      This boolean variable should be set `t' if printing will be done in
436      color, otherwise it should be set to `nil'.
437
438    NOTE: It is an undocumented limitation in XEmacs that postscript
439 printing (the `Pretty Print Buffer' menu item) *requires* a window
440 system environment.  It cannot be used outside of X11.
441
442 \1f
443 File: xemacs-faq.info,  Node: MS Windows,  Next: Current Events,  Prev: Miscellaneous,  Up: Top
444
445 6 XEmacs on MS Windows
446 **********************
447
448    This is part 6 of the XEmacs Frequently Asked Questions list,
449 written by Hrvoje Niksic and others.  This section is devoted to the MS
450 Windows port of XEmacs.
451
452 * Menu:
453
454
455 General Info
456 * Q6.0.1::      What is the status of the XEmacs port to Windows?
457 * Q6.0.2::      What flavors of MS Windows are supported?
458 * Q6.0.3::      Where are the XEmacs on MS Windows binaries?
459 * Q6.0.4::      Can I build XEmacs on MS Windows with support for X or Cygwin?
460
461 Building XEmacs on MS Windows
462 * Q6.1.1::      I decided to run with X.  Where do I get an X server?
463 * Q6.1.2::      What compiler do I need to compile XEmacs?
464 * Q6.1.3::      How do I compile for the native port?
465 * Q6.1.4::      How do I compile for the X port?
466 * Q6.1.5::      How do I compile for Cygnus' Cygwin?
467 * Q6.1.6::      What do I need for Cygwin?
468
469 Customization and User Interface
470 * Q6.2.1::      How will the port cope with differences in the Windows user interface?
471 * Q6.2.2::      How do I change fonts in XEmacs on MS Windows?
472 * Q6.2.3::      Where do I put my `init.el'/`.emacs' file?
473
474 Miscellaneous
475 * Q6.3.1::      Will XEmacs rename all the win32-* symbols to w32-*?
476 * Q6.3.2::      What are the differences between the various MS Windows emacsen?
477 * Q6.3.3::      What is the porting team doing at the moment?
478
479 Troubleshooting:
480 * Q6.4.1::      XEmacs won't start on Windows. (NEW)
481
482 \1f
483 File: xemacs-faq.info,  Node: Q6.0.1,  Next: Q6.0.2,  Prev: MS Windows,  Up: MS Windows
484
485 6.0: General Info
486 =================
487
488 Q6.0.1: What is the status of the XEmacs port to Windows?
489 ---------------------------------------------------------
490
491    Is XEmacs really getting ported to MS Windows?  What is the status
492 of the port?
493
494    Yes, a group of volunteers actively works on making XEmacs code base
495 cleanly compile and run on MS Windows operating systems.  The mailing
496 list at <xemacs-nt@xemacs.org> is dedicated to that effort (please use
497 the -request address to subscribe).
498
499    At this time, XEmacs on MS Windows is stable and full-featured.
500 However, the internationalization (Mule) support does not work -
501 although this is being actively worked on.
502
503 \1f
504 File: xemacs-faq.info,  Node: Q6.0.2,  Next: Q6.0.3,  Prev: Q6.0.1,  Up: MS Windows
505
506 Q6.0.2: What flavors of MS Windows are supported?  The list name implies NT only.
507 ---------------------------------------------------------------------------------
508
509    The list name is misleading, as XEmacs will support Windows 95,
510 Windows 98, Windows NT, Windows 2000, Windows ME, Windows XP, and all
511 newer versions of Windows.  The MS Windows-specific code is based on
512 Microsoft Win32 API, and will not work on MS Windows 3.x or on MS-DOS.
513
514 \1f
515 File: xemacs-faq.info,  Node: Q6.0.3,  Next: Q6.0.4,  Prev: Q6.0.2,  Up: MS Windows
516
517 Q6.0.3: Are binaries available?
518 -------------------------------
519
520    Binaries are available at
521 `ftp://ftp.xemacs.org/pub/xemacs/binaries/win32/' for the native MS
522 Windows version.
523
524 \1f
525 File: xemacs-faq.info,  Node: Q6.0.4,  Next: Q6.1.1,  Prev: Q6.0.3,  Up: MS Windows
526
527 Q6.0.4: Can I build XEmacs on MS Windows with support for X or Cygwin?
528 ----------------------------------------------------------------------
529
530    Yes.  XEmacs can be built in several ways in the MS Windows
531 environment.
532
533    The standard way is what we call the "native" port.  It uses the
534 Win32 API and has no connection with X whatsoever - it does not require
535 X libraries to build, nor does it require an X server to run.  The
536 native port is the most reliable version and provides the best graphical
537 support.  Almost all development is geared towards this version, and
538 there is little reason not to use it.
539
540    You can also build XEmacs "X" port--it requires X libraries to build
541 and an X server to run.  Internally it uses the Xt event loop and makes
542 use of X toolkits.  Its look is quite un-Windowsy, and it is not well
543 maintained, but it is being kept around for the time being because it
544 has a long history.
545
546    There is also a third special case, the Cygwin port.  It takes
547 advantage of Cygnus emulation library under Win32, which enables it to
548 reuse much of the Unix XEmacs code base, such as processes and network
549 support, or internal select() mechanisms.
550
551    Cygwin port supports all display types--TTY, X & MS GUI, and can be
552 built with support for all three.  If you build with MS GUI support
553 then the Cygwin version uses the majority of the msw code, which is
554 mostly related to display.  If you want to build with X support you
555 need X libraries.  If you want to build with TTY support you need
556 ncurses.  MS GUI requires no additional libraries.
557
558    The advantages of the Cygwin version are that it integrates well with
559 Cygwin environment for existing Cygwin users; uses configure so building
560 with different features is very easy; and has process support in X &
561 tty.
562
563    The disadvantage is that it requires several Unix utilities and the
564 whole Cygwin environment, whereas the native port requires only a
565 suitable MS Windows compiler.  Also, it follows the Unix filesystem and
566 process model very closely (some will undoubtedly view this as an
567 advantage).
568
569 \1f
570 File: xemacs-faq.info,  Node: Q6.1.1,  Next: Q6.1.2,  Prev: Q6.0.4,  Up: MS Windows
571
572 6.1: Building XEmacs on MS Windows
573 ==================================
574
575 Q6.1.1: I decided to run with X.  Where do I get an X server?
576 -------------------------------------------------------------
577
578    Pointers to X servers can be found at
579 `http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/';
580
581    look for "Where to get an X server".  Also note that, although the
582 above page talks about Cygnus gnu-win32 (Cygwin), the information on X
583 servers is Cygwin-independent.  You don't have to be running/using
584 Cygwin to use these X servers, and you don't have to compile XEmacs
585 under Cygwin to use XEmacs with these X servers.  An "X port" XEmacs
586 compiled under Visual C++ will work with these X servers (as will
587 XEmacs running on a Unix box, redirected to the server running on your
588 PC).
589
590 \1f
591 File: xemacs-faq.info,  Node: Q6.1.2,  Next: Q6.1.3,  Prev: Q6.1.1,  Up: MS Windows
592
593 Q6.1.2: What compiler do I need to compile XEmacs?
594 --------------------------------------------------
595
596    You need Visual C++ 4.2, 5.0, or 6.0, with the exception of the
597 Cygwin port, which uses Gcc.  There is also a MINGW32 port of XEmacs
598 (using Gcc, but using native libraries rather than the Cygwin
599 libraries).  #### More information about this should be provided.
600
601 \1f
602 File: xemacs-faq.info,  Node: Q6.1.3,  Next: Q6.1.4,  Prev: Q6.1.2,  Up: MS Windows
603
604 Q6.1.3: How do I compile for the native port?
605 ---------------------------------------------
606
607    Please read the file `nt/README' in the XEmacs distribution, which
608 contains the full description.
609
610 \1f
611 File: xemacs-faq.info,  Node: Q6.1.4,  Next: Q6.1.5,  Prev: Q6.1.3,  Up: MS Windows
612
613 Q6.1.4: How do I compile for the X port?
614 ----------------------------------------
615
616    Again, it is described in `nt/README' in some detail.  Basically, you
617 need to get X11 libraries from ftp.x.org, and compile them.  If the
618 precompiled versions are available somewhere, I don't know of it.
619
620 \1f
621 File: xemacs-faq.info,  Node: Q6.1.5,  Next: Q6.1.6,  Prev: Q6.1.4,  Up: MS Windows
622
623 Q6.1.5: How do I compile for Cygnus' Cygwin?
624 --------------------------------------------
625
626    Similar as on Unix; use the usual `configure' and `make' process.
627 Some problems to watch out for:
628
629    * make sure HOME is set. This controls where you `init.el'/`.emacs'
630      file comes from;
631
632    * CYGWIN needs to be set to tty for process support work. e.g.
633      CYGWIN=tty; (use CYGWIN32=tty under b19 and older.)
634
635    * picking up some other grep or other UNIX-like tools can kill
636      configure;
637
638    * static heap too small, adjust `src/sheap-adjust.h' to a more
639      positive number;
640
641    * The Cygwin version doesn't understand `//machine/path' type paths
642      so you will need to manually mount a directory of this form under
643      a unix style directory for a build to work on the directory.
644
645
646 \1f
647 File: xemacs-faq.info,  Node: Q6.1.6,  Next: Q6.2.1,  Prev: Q6.1.5,  Up: MS Windows
648
649 Q6.1.6: What do I need for Cygwin?
650 ----------------------------------
651
652    You can find the Cygwin tools and compiler at:
653
654    `http://sourceware.cygnus.com/cygwin/'
655
656    You will need version b19 or later.  The latest current version is
657 1.1.1.  Other common versions you will see are b20.1.
658
659    Another location, one of the mirror sites of the site just mentioned,
660 is usually a last faster:
661
662    `ftp://ftp.freesoftware.com/pub/sourceware/cygwin/'
663
664    You can obtain the latest version (currently 1.1.1) from the
665 `latest/' subdirectory of either of the above two just-mentioned URL's.
666
667    *WARNING: The version of GCC supplied under `latest/', as of June
668 6th, 2000, does not appear to work.  It generates loads of spurious
669 preprocessor warnings and errors, which makes it impossible to compile
670 XEmacs with it.*
671
672    You will also need the X libraries.  You can get them on the XEmacs
673 FTP site at
674
675    `ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin/'
676
677    You will find b19 and b20 versions of the X libraries, plus b19 and
678 b20 versions of stuff that should go into `/usr/local/', donated by
679 Andy Piper.  This includes pre-built versions of various graphics
680 libraries, such as PNG, JPEG, TIFF, and XPM. (Remember, GIF support is
681 built-in to XEmacs.)
682
683    (X libraries for v1 and beyond of Cygwin can be found on the Cygwin
684 site itself - look in the `xfree/' subdirectory.)
685
686    _NOTE:_ There are two versions of the XPM library provided in Andy's
687 packets.  Once is for building with X support, and the other for
688 building without.  The X version should work if you're building with
689 both X and Windows support.  The two files are called `libXpm-X.a' and
690 `libXpm-noX.a' respectively, and you must symlink the appropriate one
691 to `libXpm.a'. *CAREFUL:* By default, the non-X version is symlinked
692 in.  If you then configure XEmacs with X, you won't run into problems
693 until you start compiling `events.c', at which point you'll get strange
694 and decidedly non-obvious errors.
695
696    Please see `http://www.xemacs.freeserve.co.uk/' (Andy Piper's home
697 page) for more information.
698
699    BTW There are also libraries at
700 `http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/', but these are
701 not b19 compatible, and may in fact be native-compiled.
702
703 \1f
704 File: xemacs-faq.info,  Node: Q6.2.1,  Next: Q6.2.2,  Prev: Q6.1.6,  Up: MS Windows
705
706 6.2: Customization and User Interface
707 =====================================
708
709 Q6.2.1: How will the port cope with differences in the Windows user interface?
710 ------------------------------------------------------------------------------
711
712    XEmacs (and Emacs in general) UI is pretty different from what is
713 expected of a typical MS Windows program.  How will the MS Windows port
714 cope with it?
715
716    Fortunately, Emacs is also one of the most configurable editor beasts
717 in the world.  The MS Windows "look and feel" (mark via shift-arrow,
718 self-inserting deletes region, etc.) can be easily configured via
719 various packages distributed with XEmacs.  The `pending-delete' package
720 is an example of such a utility.
721
722    In future versions, some of these packages might be turned on by
723 default in the MS Windows environment.
724
725 \1f
726 File: xemacs-faq.info,  Node: Q6.2.2,  Next: Q6.2.3,  Prev: Q6.2.1,  Up: MS Windows
727
728 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
729 ------------------------------------------------------
730
731    In 21.2.*, use the font menu.  In 21.1.*, you can change font
732 manually. For example:
733
734          (set-face-font 'default "Lucida Console:Regular:10")
735          (set-face-font 'modeline "MS Sans Serif:Regular:10")
736
737 \1f
738 File: xemacs-faq.info,  Node: Q6.2.3,  Next: Q6.3.1,  Prev: Q6.2.2,  Up: MS Windows
739
740 Q6.2.3: Where do I put my `init.el'/`.emacs' file?
741 --------------------------------------------------
742
743    `init.el' is the name of the init file starting with 21.4, and is
744 located in the subdirectory `.xemacs/' of your home directory.  In
745 prior versions, the init file is called `.emacs' and is located in your
746 home directory.  Your home directory under Windows is determined by the
747 HOME environment variable.  If this is not set, it defaults to `C:\'.
748
749 \1f
750 File: xemacs-faq.info,  Node: Q6.3.1,  Next: Q6.3.2,  Prev: Q6.2.3,  Up: MS Windows
751
752 6.3: Miscellaneous
753 ==================
754
755 Q6.3.1: Will XEmacs rename all the win32-* symbols to w32-*?
756 ------------------------------------------------------------
757
758    In his flavor of Emacs 20, Richard Stallman has renamed all the
759 win32-* symbols to w32-*.  Will XEmacs do the same?
760
761    We consider such a move counter-productive, thus we will not use the
762 `w32' prefix.  However, we do recognize that Win32 name is little more
763 than a marketing buzzword (will it be Win64 in the next release?), so
764 we decided not to use it.  Using `windows-' would be wrong because the
765 term is too generic, which is why we settled on a compromise
766 `mswindows' term.
767
768    Thus all the XEmacs variables and functions directly related to Win32
769 are prefixed `mswindows-'.  The user-variables shared with NT Emacs
770 will be provided as compatibility aliases.
771
772    Architectural note: We believe that there should be a very small
773 number of window-systems-specific variables, and we provide generic
774 interfaces whenever possible.  Thus, most of the equivalents of GNU
775 Emacs `w32-*' functions and variables (as well as the corresponding
776 `x-*' versions) are non-window-system-specific in XEmacs, and the issue
777 of `mswindows-*' vs. `w32-*' does not come up much.
778
779 \1f
780 File: xemacs-faq.info,  Node: Q6.3.2,  Next: Q6.3.3,  Prev: Q6.3.1,  Up: MS Windows
781
782 Q6.3.2: What are the differences between the various MS Windows emacsen?
783 ------------------------------------------------------------------------
784
785    XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
786 Could you briefly explain the differences between them?
787
788    Here is a recount of various Emacs versions running on MS Windows:
789
790    * Win-Emacs
791
792         - Win-Emacs is a port of Lucid Emacs 19.6 to MS Windows using X
793           compatibility libraries.  Win-Emacs has been written by Ben
794           Wing.  The MS Windows code has not made it back to Lucid
795           Emacs, which left Win-Emacs pretty much dead for our
796           purposes.  Win-Emacs used to be available at Pearlsoft, but
797           not anymore, since Pearlsoft went out of business.
798
799    * GNU Emacs for DOS
800
801         - GNU Emacs features support for MS-DOS and DJGPP (D.J.
802           Delorie's DOS port of Gcc).  Such an Emacs is heavily
803           underfeatured, because it does not supports long file names,
804           lacks proper subprocesses support, and is far too big
805           compared to typical DOS editors.
806
807    * GNU Emacs compiled with Win32
808
809         - Starting with version 19.30, it has been possible to compile
810           GNU Emacs under MS Windows using the DJGPP compiler and X
811           libraries.  The result is is very similar to GNU Emacs
812           compiled under MS DOS, only it supports longer file names,
813           etc.  This "port" is similar to the "X" flavor of XEmacs on
814           MS Windows.
815
816    * NT Emacs
817
818         - NT Emacs is a version of GNU Emacs modified to compile and
819           run under MS MS Windows 95 and NT using the native Win32 API.
820           As such, it is close in spirit to the XEmacs "native" port.
821
822         - NT Emacs has been written by Geoff Voelker, and more
823           information can be found at
824           `http://www.cs.washington.edu/homes/voelker/ntemacs.html'.
825
826
827    * XEmacs
828
829         - Beginning with XEmacs 19.12, XEmacs' architecture has been
830           redesigned in such a way to allow clean support of multiple
831           window systems.  At this time the TTY support was added,
832           making X and TTY the first two "window systems" XEmacs
833           supported.  The 19.12 design is the basis for the current
834           native MS Windows code.
835
836         - Some time during 1997, David Hobley (soon joined by Marc
837           Paquette) imported some of the NT-specific portions of GNU
838           Emacs, making XEmacs with X support compile under Windows NT,
839           and creating the "X" port.
840
841         - Several months later, Jonathan Harris sent out initial
842           patches to use the Win32 API, thus creating the native port.
843           Since then, various people have contributed, including Kirill
844           M. Katsnelson (contributed support for menubars, subprocesses
845           and network, as well as loads of other code), Andy Piper
846           (ported XEmacs to Cygwin environment, contributed Windows
847           unexec, Windows-specific glyphs and toolbars code, and more),
848           Jeff Sparkes (contributed scrollbars support) and many others.
849
850
851
852 \1f
853 File: xemacs-faq.info,  Node: Q6.3.3,  Next: Q6.4.1,  Prev: Q6.3.2,  Up: MS Windows
854
855 Q6.3.3: What is the porting team doing at the moment?
856 -----------------------------------------------------
857
858    (as of March 2001)
859
860    The porting team is continuing work on the MS Windows-specific code.
861 Major projects are the development of Mule (internationalization)
862 support for Windows and the improvement of the widget support (better
863 support for dialog boxes, buttons, edit fields, and similar UI
864 elements).
865
866 \1f
867 File: xemacs-faq.info,  Node: Q6.4.1,  Prev: Q6.3.3,  Up: MS Windows
868
869 6.3: Troubleshooting
870 ====================
871
872 Q6.4.1 XEmacs won't start on Windows. (NEW)
873 -------------------------------------------
874
875    XEmacs relies on a process called "dumping" to generate a working
876 executable. Under MS-Windows this process effectively fixes the memory
877 addresses of information in the executable. When XEmacs starts up it
878 tries to reserve these memory addresses so that the dumping process can
879 be reversed - putting the information back at the correct addresses.
880 Unfortunately some .dlls (For instance the soundblaster driver) occupy
881 memory addresses that can conflict with those needed by the dumped
882 XEmacs executable. In this instance XEmacs will fail to start without
883 any explanation. Note that this is extremely machine specific.
884
885    21.1.10 includes a fix for this that makes more intelligent guesses
886 about which memory addresses will be free, and this should cure the
887 problem for most people.  Unfortunately, no binary is yet available for
888 this version.  Check back periodically at
889
890    `ftp://ftp.xemacs.org/pub/xemacs/binaries/'.
891
892    21.2 implements "portable dumping" which will eliminate the problem
893 altogether.  You might have better luck with the 21.2 beta binary,
894 available at
895
896    `ftp://ftp.xemacs.org/pub/xemacs/beta/binaries/'.
897
898 \1f
899 File: xemacs-faq.info,  Node: Current Events,  Prev: MS Windows,  Up: Top
900
901 7 What the Future Holds
902 ***********************
903
904    This is part 7 of the XEmacs Frequently Asked Questions list.  This
905 section will change monthly, and contains any interesting items that
906 have transpired over the previous month.  If you are reading this from
907 the XEmacs distribution, please see the version on the Web or archived
908 at the various FAQ FTP sites, as this file is surely out of date.
909
910 * Menu:
911
912 * Q7.0.1::      What is new in 20.2?
913 * Q7.0.2::      What is new in 20.3?
914 * Q7.0.3::      What is new in 20.4?
915 * Q7.0.4::      Procedural changes in XEmacs development.
916
917 \1f
918 File: xemacs-faq.info,  Node: Q7.0.1,  Next: Q7.0.2,  Prev: Current Events,  Up: Current Events
919
920 7.0: Changes
921 ============
922
923 Q7.0.1: What is new in 20.2?
924 ----------------------------
925
926    The biggest changes in 20.2 include integration of EFS (the next
927 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
928 major mode for editing Tex and LaTeX, and a lot of other stuff).  Many
929 bugs from 20.0 have been fixed for this release.  20.2 also contains a
930 new system for customizing XEmacs options, invoked via `M-x customize'.
931
932    XEmacs 20.2 is the development release (20.0 was beta), and is no
933 longer considered unstable.
934
935 \1f
936 File: xemacs-faq.info,  Node: Q7.0.2,  Next: Q7.0.3,  Prev: Q7.0.1,  Up: Current Events
937
938 Q7.0.2: What is new in 20.3?
939 ----------------------------
940
941    XEmacs 20.3 was released in November 1997. It contains many bugfixes,
942 and a number of new features, including Autoconf 2 based configuration,
943 additional support for Mule (Multi-language extensions to Emacs), many
944 more customizations, multiple frames on TTY-s, support for multiple info
945 directories, an enhanced gnuclient, improvements to regexp matching,
946 increased MIME support, and many, many synches with GNU Emacs 20.
947
948    The XEmacs/Mule support has been only seriously tested in a Japanese
949 locale, and no doubt many problems still remain.  The support for
950 ISO-Latin-1 and Japanese is fairly strong.  MULE support comes at a
951 price--about a 30% slowdown from 19.16.  We're making progress on
952 improving performance and XEmacs 20.3 compiled without Mule (which is
953 the default) is definitely faster than XEmacs 19.16.
954
955    XEmacs 20.3 is the first non-beta v20 release, and will be the basis
956 for all further development.
957
958 \1f
959 File: xemacs-faq.info,  Node: Q7.0.3,  Next: Q7.0.4,  Prev: Q7.0.2,  Up: Current Events
960
961 Q7.0.3: What's new in XEmacs 20.4?
962 ----------------------------------
963
964    XEmacs 20.4 is a bugfix release with no user-visible changes.
965
966 \1f
967 File: xemacs-faq.info,  Node: Q7.0.4,  Prev: Q7.0.3,  Up: Current Events
968
969 Q7.0.4: Procedural changes in XEmacs development.
970 -------------------------------------------------
971
972   1. Discussion about the development of XEmacs occurs on the
973      xemacs-beta mailing list.  Subscriptions to this list will now be
974      fully automated instead of being handled by hand.  Send a mail
975      message to <xemacs-beta-request@xemacs.org> with `subscribe' as the
976      BODY of the message to join the list.  Please note this is a
977      developers mailing list for people who have an active interest in
978      the development process.
979
980      The discussion of NT XEmacs development is taking place on a
981      separate mailing list.  Send mail to
982      <xemacs-nt-request@xemacs.org> to subscribe.
983
984   2. Due to the long development cycle in between releases, it has been
985      decided that intermediate versions will be made available in
986      source only form for the truly interested.
987
988      XEmacs 19.16 was the last 19 release, basically consisting of
989      19.15 plus the collected bugfixes.
990
991   3. As of December 1996, Steve Baur <steve@xemacs.org> has become the
992      lead maintainer of XEmacs.
993
994