1 This is ../info/xemacs-faq.info, produced by makeinfo version 4.0 from
4 INFO-DIR-SECTION XEmacs Editor
6 * FAQ: (xemacs-faq). XEmacs FAQ.
10 File: xemacs-faq.info, Node: Q5.1.9, Next: Q5.1.10, Prev: Q5.1.8, Up: Miscellaneous
12 Q5.1.9: How do I put a glyph as annotation in a buffer?
13 -------------------------------------------------------
15 Here is a solution that will insert the glyph annotation at the
18 (make-annotation (make-glyph '([FORMAT :file FILE]
19 [string :data "fallback-text"]))
24 Replace `FORMAT' with an unquoted symbol representing the format of
25 the image (e.g. `xpm', `xbm', `gif', `jpeg', etc.) Instead of `FILE',
26 use the image file name (e.g.
27 `/usr/local/lib/xemacs-20.2/etc/recycle.xpm').
29 You can turn this to a function (that optionally prompts you for a
30 file name), and inserts the glyph at `(point)' instead of `(point-min)'.
33 File: xemacs-faq.info, Node: Q5.1.10, Next: Q5.1.11, Prev: Q5.1.9, Up: Miscellaneous
35 Q5.1.10: `map-extents' won't traverse all of my extents!
36 --------------------------------------------------------
38 I tried to use `map-extents' to do an operation on all the extents
39 in a region. However, it seems to quit after processing a random number
40 of extents. Is it buggy?
42 No. The documentation of `map-extents' states that it will iterate
43 across the extents as long as FUNCTION returns `nil'. Unexperienced
44 programmers often forget to return `nil' explicitly, which results in
45 buggy code. For instance, the following code is supposed to delete all
46 the extents in a buffer, and issue as many `fubar!' messages.
48 (map-extents (lambda (ext ignore)
52 Instead, it will delete only the first extent, and stop right there -
53 because `message' will return a non-nil value. The correct code is:
55 (map-extents (lambda (ext ignore)
61 File: xemacs-faq.info, Node: Q5.1.11, Next: Q5.2.1, Prev: Q5.1.10, Up: Miscellaneous
63 Q5.1.11: My elisp program is horribly slow. Is there
64 -----------------------------------------------------
66 an easy way to find out where it spends time?
68 zHrvoje Niksic <hniksic@xemacs.org> writes:
69 Under XEmacs 20.4 and later you can use `M-x
70 profile-key-sequence', press a key (say <RET> in the Gnus Group
71 buffer), and get the results using `M-x profile-results'. It
72 should give you an idea of where the time is being spent.
75 File: xemacs-faq.info, Node: Q5.2.1, Next: Q5.2.2, Prev: Q5.1.11, Up: Miscellaneous
77 Q5.2.1: How do I turn off the sound?
78 ------------------------------------
80 Add the following line to your `.emacs':
83 (setq sound-alist nil)
85 That will make your XEmacs totally silent--even the default ding
86 sound (TTY beep on TTY-s) will be gone.
88 Starting with XEmacs-20.2 you can also change these with Customize.
89 Select from the `Options' menu
90 `Customize->Emacs->Environment->Sound->Sound...' or type `M-x customize
94 File: xemacs-faq.info, Node: Q5.2.2, Next: Q5.2.3, Prev: Q5.2.1, Up: Miscellaneous
96 Q5.2.2: How do I get funky sounds instead of a boring beep?
97 -----------------------------------------------------------
99 Make sure your XEmacs was compiled with sound support, and then put
100 this in your `.emacs':
102 (load-default-sounds)
104 The sound support in XEmacs 19.14 was greatly improved over previous
108 File: xemacs-faq.info, Node: Q5.2.3, Next: Q5.2.4, Prev: Q5.2.2, Up: Miscellaneous
110 Q5.2.3: What's NAS, how do I get it?
111 ------------------------------------
113 *Note Q2.0.3::, for an explanation of the "Network Audio System".
116 File: xemacs-faq.info, Node: Q5.2.4, Next: Q5.3.1, Prev: Q5.2.3, Up: Miscellaneous
118 Q5.2.4: Sunsite sounds don't play.
119 ----------------------------------
121 I'm having some trouble with sounds I've downloaded from sunsite.
122 They play when I run them through `showaudio' or cat them directly to
123 `/dev/audio', but XEmacs refuses to play them.
125 Markus Gutschke <gutschk@uni-muenster.de> writes:
127 [Many of] These files have an (erroneous) 24byte header that tells
128 about the format that they have been recorded in. If you cat them
129 to `/dev/audio', the header will be ignored and the default
130 behavior for /dev/audio will be used. This happens to be 8kHz
131 uLaw. It is probably possible to fix the header by piping through
132 `sox' and passing explicit parameters for specifying the sampling
133 format; you then need to perform a 'null' conversion from SunAudio
137 File: xemacs-faq.info, Node: Q5.3.1, Next: Q5.3.2, Prev: Q5.2.4, Up: Miscellaneous
142 Q5.3.1: How do you make XEmacs indent CL if-clauses correctly?
143 --------------------------------------------------------------
145 I'd like XEmacs to indent all the clauses of a Common Lisp `if' the
146 same amount instead of indenting the 3rd clause differently from the
149 One way is to add, to `.emacs':
151 (put 'if 'lisp-indent-function nil)
153 However, note that the package `cl-indent' that comes with XEmacs
154 sets up this kind of indentation by default. `cl-indent' also knows
155 about many other CL-specific forms. To use `cl-indent', one can do
159 (setq lisp-indent-function (function common-lisp-indent-function))
161 One can also customize `cl-indent.el' so it mimics the default `if'
162 indentation `then' indented more than the `else'. Here's how:
164 (put 'if 'common-lisp-indent-function '(nil nil &body))
166 Also, a new version (1.2) of `cl-indent.el' was posted to
167 comp.emacs.xemacs on 12/9/94. This version includes more documentation
168 than previous versions. This may prove useful if you need to customize
169 any indent-functions.
172 File: xemacs-faq.info, Node: Q5.3.2, Next: Q5.3.3, Prev: Q5.3.1, Up: Miscellaneous
174 Q5.3.2: Fontifying hang when editing a postscript file.
175 -------------------------------------------------------
177 When I try to edit a postscript file it gets stuck saying:
178 `fontifying 'filename' (regexps....)' and it just sits there. If I
179 press `C-c' in the window where XEmacs was started, it suddenly becomes
182 This was caused by a bug in the Postscript font-lock regular
183 expressions. It was fixed in 19.13. For earlier versions of XEmacs,
184 have a look at your `.emacs' file. You will probably have a line like:
186 (add-hook 'postscript-mode-hook 'turn-on-font-lock)
188 Take it out, restart XEmacs, and it won't try to fontify your
189 postscript files anymore.
192 File: xemacs-faq.info, Node: Q5.3.3, Next: Q5.3.4, Prev: Q5.3.2, Up: Miscellaneous
194 Q5.3.3: How can I print WYSIWYG a font-locked buffer?
195 -----------------------------------------------------
197 Font-lock looks nice. How can I print (WYSIWYG) the highlighted
200 The package `ps-print', which is now included with XEmacs, provides
201 the ability to do this. The source code contains complete instructions
202 on its use, in `<xemacs_src_root>/lisp/packages/ps-print.el'.
205 File: xemacs-faq.info, Node: Q5.3.4, Next: Q5.3.5, Prev: Q5.3.3, Up: Miscellaneous
207 Q5.3.4: Getting `M-x lpr' to work with postscript printer.
208 ----------------------------------------------------------
210 My printer is a Postscript printer and `lpr' only works for
211 Postscript files, so how do I get `M-x lpr-region' and `M-x lpr-buffer'
214 Put something like this in your `.emacs':
216 (setq lpr-command "a2ps")
217 (setq lpr-switches '("-p" "-1"))
219 If you don't use a2ps to convert ASCII to postscript (why not, it's
220 free?), replace with the command you do use. Note also that some
221 versions of a2ps require a `-Pprinter' to ensure spooling.
224 File: xemacs-faq.info, Node: Q5.3.5, Next: Q5.3.6, Prev: Q5.3.4, Up: Miscellaneous
226 Q5.3.5: How do I specify the paths that XEmacs uses for finding files?
227 ----------------------------------------------------------------------
229 You can specify what paths to use by using a number of different
230 flags when running configure. See the section MAKE VARIABLES in the
231 top-level file INSTALL in the XEmacs distribution for a listing of
234 Most of the time, however, the simplest fix is: *do not* specify
235 paths as you might for GNU Emacs. XEmacs can generally determine the
236 necessary paths dynamically at run time. The only path that generally
237 needs to be specified is the root directory to install into. That can
238 be specified by passing the `--prefix' flag to configure. For a
239 description of the XEmacs install tree, please consult the `NEWS' file.
242 File: xemacs-faq.info, Node: Q5.3.6, Next: Q5.3.7, Prev: Q5.3.5, Up: Miscellaneous
244 Q5.3.6: [This question intentionally left blank]
245 ------------------------------------------------
247 Obsolete question, left blank to avoid renumbering.
250 File: xemacs-faq.info, Node: Q5.3.7, Next: Q5.3.8, Prev: Q5.3.6, Up: Miscellaneous
252 Q5.3.7: Can I have the end of the buffer delimited in some way?
253 ---------------------------------------------------------------
259 (let ((ext (make-extent (point-min) (point-max))))
260 (set-extent-property ext 'start-closed t)
261 (set-extent-property ext 'end-closed t)
262 (set-extent-property ext 'detachable nil)
263 (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
265 Since this is XEmacs, you can specify an icon to be shown on
266 window-system devices. To do so, change the `make-glyph' call to
269 (make-glyph '([xpm :file "~/something.xpm"]
270 [string :data "[END]"]))
272 You can inline the XPM definition yourself by specifying `:data'
273 instead of `:file'. Here is such a full-featured version that works on
274 both X and TTY devices:
276 (let ((ext (make-extent (point-min) (point-max))))
277 (set-extent-property ext 'start-closed t)
278 (set-extent-property ext 'end-closed t)
279 (set-extent-property ext 'detachable nil)
280 (set-extent-end-glyph ext (make-glyph '([xpm :data "\
291 \"___________`_`_`___b_b_b_b_________`____\",
292 \"_________`_`_`___b_c_c_c_b_b____________\",
293 \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
294 \"___`_`_e_a___b_b_d___b___b___b___b______\",
295 \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
296 \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
297 \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
298 \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
299 \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
300 \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
301 \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
303 [string :data "[END]"]))))
305 Note that you might want to make this a function, and put it to a
306 hook. We leave that as an exercise for the reader.
309 File: xemacs-faq.info, Node: Q5.3.8, Next: Q5.3.9, Prev: Q5.3.7, Up: Miscellaneous
311 Q5.3.8: How do I insert today's date into a buffer?
312 ---------------------------------------------------
316 (insert (current-time-string))
319 File: xemacs-faq.info, Node: Q5.3.9, Next: Q5.3.10, Prev: Q5.3.8, Up: Miscellaneous
321 Q5.3.9: Are only certain syntactic character classes available for abbrevs?
322 ---------------------------------------------------------------------------
324 Markus Gutschke <gutschk@uni-muenster.de> writes:
326 Yes, abbrevs only expands word-syntax strings. While XEmacs does
327 not prevent you from defining (e.g. with `C-x a g' or `C-x a l')
328 abbrevs that contain special characters, it will refuse to expand
329 them. So you need to ensure, that the abbreviation contains
330 letters and digits only. This means that `xd', `d5', and `5d' are
331 valid abbrevs, but `&d', and `x d' are not.
333 If this sounds confusing to you, (re-)read the online
334 documentation for abbrevs (`C-h i m XEmacs <RET> m Abbrevs
335 <RET>'), and then come back and read this question/answer again.
337 Starting with XEmacs 20.3 this restriction has been lifted.
340 File: xemacs-faq.info, Node: Q5.3.10, Next: Q5.3.11, Prev: Q5.3.9, Up: Miscellaneous
342 Q5.3.10: How can I get those oh-so-neat X-Face lines?
343 -----------------------------------------------------
345 Firstly there is an ftp site which describes X-faces and has the
346 associated tools mentioned below, at
347 `ftp://ftp.cs.indiana.edu:/pub/faces/'.
351 1. Create 48x48x1 bitmap with your favorite tool
353 2. Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
354 and then compile the face.
356 3. cat file.xbm | xbm2ikon |compface > file.face
358 4. Then be sure to quote things that are necessary for emacs strings:
360 cat ./file.face | sed 's/\\/\\\\/g'
361 | sed 's/\"/\\\"/g' > ./file.face.quoted
363 5. Then set up emacs to include the file as a mail header - there
364 were a couple of suggestions here--either something like:
366 (setq mail-default-headers
367 "X-Face: <Ugly looking text string here>")
369 Or, alternatively, as:
371 (defun mail-insert-x-face ()
373 (goto-char (point-min))
374 (search-forward mail-header-separator)
377 (insert-file-contents "~/.face")))
379 (add-hook 'mail-setup-hook 'mail-insert-x-face)
381 However, 2 things might be wrong:
383 Some versions of pbmtoicon produces some header lines that is not
384 expected by the version of compface that I grabbed. So I found I had to
385 include a `tail +3' in the pipeline like this:
387 cat file.xbm | xbm2ikon | tail +3 |compface > file.face
389 Some people have also found that if one uses the `(insert-file)'
390 method, one should NOT quote the face string using the sed script .
392 It might also be helpful to use Stig's <stig@hackvan.com> script
393 (included in the compface distribution at XEmacs.org) to do the
396 Contributors for this item:
398 Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, Heinz Uphoff,
399 Peter Arius, Paul Harrison, and Vegard Vesterheim
402 File: xemacs-faq.info, Node: Q5.3.11, Next: Q5.3.12, Prev: Q5.3.10, Up: Miscellaneous
404 Q5.3.11: How do I add new Info directories?
405 -------------------------------------------
407 You use something like:
409 (setq Info-directory-list (cons
410 (expand-file-name "~/info")
411 Info-default-directory-list))
413 David Masterson <davidm@prism.kla.com> writes:
415 Emacs Info and XEmacs Info do many things differently. If you're
416 trying to support a number of versions of Emacs, here are some
419 1. Emacs Info scans `Info-directory-list' from right-to-left
420 while XEmacs Info reads it from left-to-right, so append to
421 the _correct_ end of the list.
423 2. Use `Info-default-directory-list' to initialize
424 `Info-directory-list' _if_ it is available at startup, but not
425 all Emacsen define it.
427 3. Emacs Info looks for a standard `dir' file in each of the
428 directories scanned from #1 and magically concatenates them
431 4. XEmacs Info looks for a `localdir' file (which consists of
432 just the menu entries from a `dir' file) in each of the
433 directories scanned from #1 (except the first), does a simple
434 concatenation of them, and magically attaches the resulting
435 list to the end of the menu in the `dir' file in the first
438 Another alternative is to convert the documentation to HTML with
439 texi2html and read it from a web browser like Lynx or W3.
442 File: xemacs-faq.info, Node: Q5.3.12, Prev: Q5.3.11, Up: Miscellaneous
444 Q5.3.12: What do I need to change to make printing work?
445 --------------------------------------------------------
447 For regular printing there are two variables that can be customized.
450 This should be set to a command that takes standard input and sends
451 it to a printer. Something like:
453 (setq lpr-command "lp")
456 This should be set to a list that contains whatever the print
457 command requires to do its job. Something like:
459 (setq lpr-switches '("-depson"))
461 For postscript printing there are three analogous variables to
465 This should be set to a command that takes postscript on standard
466 input and directs it to a postscript printer.
469 This should be set to a list of switches required for
470 `ps-lpr-command' to do its job.
473 This boolean variable should be set `t' if printing will be done in
474 color, otherwise it should be set to `nil'.
476 NOTE: It is an undocumented limitation in XEmacs that postscript
477 printing (the `Pretty Print Buffer' menu item) *requires* a window
478 system environment. It cannot be used outside of X11.
481 File: xemacs-faq.info, Node: MS Windows, Next: Current Events, Prev: Miscellaneous, Up: Top
483 6 XEmacs on MS Windows
484 **********************
486 This is part 6 of the XEmacs Frequently Asked Questions list,
487 written by Hrvoje Niksic and others. This section is devoted to the MS
488 Windows port of XEmacs.
494 * Q6.0.1:: What is the status of the XEmacs port to Windows?
495 * Q6.0.2:: What flavors of MS Windows are supported?
496 * Q6.0.3:: Where are the XEmacs on MS Windows binaries?
497 * Q6.0.4:: Does XEmacs on MS Windows require an X server to run?
499 Building XEmacs on MS Windows
500 * Q6.1.1:: I decided to run with X. Where do I get an X server?
501 * Q6.1.2:: What compiler do I need to compile XEmacs?
502 * Q6.1.3:: How do I compile for the native port?
503 * Q6.1.4:: How do I compile for the X port?
504 * Q6.1.5:: How do I compile for Cygnus' Cygwin?
505 * Q6.1.6:: What do I need for Cygwin?
507 Customization and User Interface
508 * Q6.2.1:: How will the port cope with differences in the Windows user interface?
509 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows?
510 * Q6.2.3:: Where do I put my `.emacs' file?
513 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*?
514 * Q6.3.2:: What are the differences between the various MS Windows emacsen?
515 * Q6.3.3:: What is the porting team doing at the moment?
518 * Q6.4.1:: XEmacs won't start on Windows. (NEW)
521 File: xemacs-faq.info, Node: Q6.0.1, Next: Q6.0.2, Prev: MS Windows, Up: MS Windows
526 Q6.0.1: What is the status of the XEmacs port to Windows?
527 ---------------------------------------------------------
529 Is XEmacs really getting ported to MS Windows? What is the status
532 Yes, a group of volunteers actively works on making XEmacs code base
533 cleanly compile and run on MS Windows operating systems. The mailing
534 list at <xemacs-nt@xemacs.org> is dedicated to that effort (please use
535 the -request address to subscribe).
537 At this time, XEmacs on MS Windows is usable, but lacks some of the
538 features of XEmacs on UNIX and UNIX-like systems. Notably,
539 internationalization does not work.
542 File: xemacs-faq.info, Node: Q6.0.2, Next: Q6.0.3, Prev: Q6.0.1, Up: MS Windows
544 Q6.0.2: What flavors of MS Windows are supported? The list name implies NT only.
545 ---------------------------------------------------------------------------------
547 The list name is misleading, as XEmacs will support both Windows 95,
548 Windows 98 and Windows NT. The MS Windows-specific code is based on
549 Microsoft Win32 API, and will not work on MS Windows 3.x or on MS-DOS.
552 File: xemacs-faq.info, Node: Q6.0.3, Next: Q6.0.4, Prev: Q6.0.2, Up: MS Windows
554 Q6.0.3: Are binary kits available?
555 ----------------------------------
557 Binary kits are available at
558 `ftp://ftp.xemacs.org/pub/xemacs/binary-kits/win32/' for the "plain" MS
562 File: xemacs-faq.info, Node: Q6.0.4, Next: Q6.1.1, Prev: Q6.0.3, Up: MS Windows
564 Q6.0.4: Does XEmacs on MS Windows require an X server to run?
565 -------------------------------------------------------------
569 Long answer: XEmacs can be built in several ways in the MS Windows
570 environment, some of them requiring an X server and some not.
572 One is what we call the "X" port--it requires X libraries to build
573 and an X server to run. Internally it uses the Xt event loop and makes
574 use of X toolkits. Its look is quite un-Windowsy, but it works
575 reliably and supports all of the graphical features of Unix XEmacs.
577 The other is what we call the "native" port. It uses the Win32 API
578 and does not require X libraries to build, nor does it require an X to
579 run. In fact, it has no connection with X whatsoever. At this time,
580 the native port obsoletes the X port, providing almost all of its
581 features, including support for menus, scrollbars, toolbars, embedded
582 images and background pixmaps, frame pointers, etc. Most of the future
583 work will be based on the native port.
585 There is also a third special case, the Cygwin port. It takes
586 advantage of Cygnus emulation library under Win32, which enables it to
587 reuse much of the Unix XEmacs code base, such as processes and network
588 support, or internal select() mechanisms.
590 Cygwin port supports all display types--TTY, X & MS gui, and can be
591 built with support for all three. If you build with ms gui support
592 then the Cygwin version uses the majority of the msw code, which is
593 mostly related to display. If you want to build with X support you
594 need X libraries. If you want to build with tty support you need
595 ncurses. MS gui requires no additional libraries.
597 Some of the advantages of the Cygwin version are that it:
599 * integrates well with Cygwin environment for existing Cygwin users;
601 * uses configure so building with different features is very easy;
603 * has process support in X & tty.
606 The disadvantage is that it requires several Unix utilities and the
607 whole Cygwin environment, whereas the native port requires only a
608 suitable MS Windows compiler. Also, it follows the Unix filesystem and
609 process model very closely (some will undoubtedly view this as an
613 File: xemacs-faq.info, Node: Q6.1.1, Next: Q6.1.2, Prev: Q6.0.4, Up: MS Windows
615 6.1: Building XEmacs on MS Windows
616 ==================================
618 Q6.1.1: I decided to run with X. Where do I get an X server?
619 -------------------------------------------------------------
621 Pointers to X servers can be found at
622 `http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/';
624 look for "Where to get an X server". Also note that, although the
625 above page talks about Cygnus gnu-win32 (Cygwin), the information on X
626 servers is Cygwin-independent. You don't have to be running/using
627 Cygwin to use these X servers, and you don't have to compile XEmacs
628 under Cygwin to use XEmacs with these X servers. An "X port" XEmacs
629 compiled under Visual C++ will work with these X servers (as will
630 XEmacs running on a Unix box, redirected to the server running on your
634 File: xemacs-faq.info, Node: Q6.1.2, Next: Q6.1.3, Prev: Q6.1.1, Up: MS Windows
636 Q6.1.2: What compiler do I need to compile XEmacs?
637 --------------------------------------------------
639 You need Visual C++ 4.2, 5.0, or 6.0, with the exception of the
640 Cygwin port, which uses Gcc. There is also a MINGW32 port of XEmacs
641 (using Gcc, but using native libraries rather than the Cygwin
642 libraries). #### More information about this should be provided.
645 File: xemacs-faq.info, Node: Q6.1.3, Next: Q6.1.4, Prev: Q6.1.2, Up: MS Windows
647 Q6.1.3: How do I compile for the native port?
648 ---------------------------------------------
650 Please read the file `nt/README' in the XEmacs distribution, which
651 contains the full description.
654 File: xemacs-faq.info, Node: Q6.1.4, Next: Q6.1.5, Prev: Q6.1.3, Up: MS Windows
656 Q6.1.4: How do I compile for the X port?
657 ----------------------------------------
659 Again, it is described in `nt/README' in some detail. Basically, you
660 need to get X11 libraries from ftp.x.org, and compile them. If the
661 precompiled versions are available somewhere, I don't know of it.
664 File: xemacs-faq.info, Node: Q6.1.5, Next: Q6.1.6, Prev: Q6.1.4, Up: MS Windows
666 Q6.1.5: How do I compile for Cygnus' Cygwin?
667 --------------------------------------------
669 Similar as on Unix; use the usual `configure' and `make' process.
670 Some problems to watch out for:
672 * make sure HOME is set. This controls where you `.emacs' file comes
675 * CYGWIN needs to be set to tty for process support work. e.g.
676 CYGWIN=tty; (use CYGWIN32=tty under b19 and older.)
678 * picking up some other grep or other unix like tools can kill
681 * static heap too small, adjust src/sheap-adjust.h to a more positive
684 * The Cygwin version doesn't understand `//machine/path' type paths
685 so you will need to manually mount a directory of this form under
686 a unix style directory for a build to work on the directory.
690 File: xemacs-faq.info, Node: Q6.1.6, Next: Q6.2.1, Prev: Q6.1.5, Up: MS Windows
692 Q6.1.6: What do I need for Cygwin?
693 ----------------------------------
695 You can find the Cygwin tools and compiler at:
697 `http://sourceware.cygnus.com/cygwin/'
699 You will need version b19 or later. The latest current version is
700 1.1.1. Other common versions you will see are b20.1.
702 Another location, one of the mirror sites of the site just mentioned,
703 is usually a last faster:
705 `ftp://ftp.freesoftware.com/pub/sourceware/cygwin/'
707 You can obtain the latest version (currently 1.1.1) from the
708 `latest/' subdirectory of either of the above two just-mentioned URL's.
710 *WARNING: The version of GCC supplied under `latest/', as of June
711 6th, 2000, does not appear to work. It generates loads of spurious
712 preprocessor warnings and errors, which makes it impossible to compile
715 You will also need the X libraries. You can get them on the XEmacs
718 `ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin/'
720 You will find b19 and b20 versions of the X libraries, plus b19 and
721 b20 versions of stuff that should go into `/usr/local/', donated by
722 Andy Piper. This includes pre-built versions of various graphics
723 libraries, such as PNG, JPEG, TIFF, and XPM. (Remember, GIF support is
726 (X libraries for v1 and beyond of Cygwin can be found on the Cygwin
727 site itself - look in the `xfree/' subdirectory.)
729 _NOTE:_ There are two versions of the XPM library provided in Andy's
730 packets. Once is for building with X support, and the other for
731 building without. The X version should work if you're building with
732 both X and Windows support. The two files are called `libXpm-X.a' and
733 `libXpm-noX.a' respectively, and you must symlink the appropriate one
734 to `libXpm.a'. *CAREFUL:* By default, the non-X version is symlinked
735 in. If you then configure XEmacs with X, you won't run into problems
736 until you start compiling `events.c', at which point you'll get strange
737 and decidedly non-obvious errors.
739 Please see `http://www.xemacs.freeserve.co.uk/' (Andy Piper's home
740 page) for more information.
742 BTW There are also libraries at
743 `http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/', but these are
744 not b19 compatible, and may in fact be native-compiled.
747 File: xemacs-faq.info, Node: Q6.2.1, Next: Q6.2.2, Prev: Q6.1.6, Up: MS Windows
749 6.2: Customization and User Interface
750 =====================================
752 Q6.2.1: How will the port cope with differences in the Windows user interface?
753 ------------------------------------------------------------------------------
755 XEmacs (and Emacs in general) UI is pretty different from what is
756 expected of a typical MS Windows program. How will the MS Windows port
759 Fortunately, Emacs is also one of the most configurable editor beasts
760 in the world. The MS Windows "look and feel" (mark via shift-arrow,
761 self-inserting deletes region, etc.) can be easily configured via
762 various packages distributed with XEmacs. The `pending-delete' package
763 is an example of such a utility.
765 In future versions, some of these packages might be turned on by
766 default in the MS Windows environment.
769 File: xemacs-faq.info, Node: Q6.2.2, Next: Q6.2.3, Prev: Q6.2.1, Up: MS Windows
771 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
772 ------------------------------------------------------
774 In 21.2.*, use the font menu. In 21.1.*, you can change font
775 manually. For example:
777 (set-face-font 'default "Lucida Console:Regular:10")
778 (set-face-font 'modeline "MS Sans Serif:Regular:10")
781 File: xemacs-faq.info, Node: Q6.2.3, Next: Q6.3.1, Prev: Q6.2.2, Up: MS Windows
783 Q6.2.3: Where do I put my `.emacs' file?
784 ----------------------------------------
786 If the HOME environment variable is set, `.emacs' will be looked for
787 there. Else the directory defaults to `c:\'.
790 File: xemacs-faq.info, Node: Q6.3.1, Next: Q6.3.2, Prev: Q6.2.3, Up: MS Windows
795 Q6.3.1: Will XEmacs rename all the win32-* symbols to w32-*?
796 ------------------------------------------------------------
798 In his flavor of Emacs 20, Richard Stallman has renamed all the
799 win32-* symbols to w32-*. Will XEmacs do the same?
801 We consider such a move counter-productive, thus we will not use the
802 `w32' prefix. However, we do recognize that Win32 name is little more
803 than a marketing buzzword (will it be Win64 in the next release?), so
804 we decided not to use it. Using `windows-' would be wrong because the
805 term is too generic, which is why we settled on a compromise
808 Thus all the XEmacs variables and functions directly related to Win32
809 are prefixed `mswindows-'. The user-variables shared with NT Emacs
810 will be provided as compatibility aliases.
812 Architectural note: We believe that there should be a very small
813 number of window-systems-specific variables, and will try to provide
814 generic interfaces whenever possible.
817 File: xemacs-faq.info, Node: Q6.3.2, Next: Q6.3.3, Prev: Q6.3.1, Up: MS Windows
819 Q6.3.2: What are the differences between the various MS Windows emacsen?
820 ------------------------------------------------------------------------
822 XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
823 Could you briefly explain the differences between them?
825 Here is a recount of various Emacs versions running on MS Windows:
829 - Win-Emacs is a port of Lucid Emacs 19.6 to MS Windows using X
830 compatibility libraries. Win-Emacs has been written by Ben
831 Wing. The MS Windows code has not made it back to Lucid
832 Emacs, which left Win-Emacs pretty much dead for our
833 purposes. Win-Emacs used to be available at Pearlsoft, but
834 not anymore, since Pearlsoft went out of business.
838 - GNU Emacs features support for MS-DOS and DJGPP (D.J.
839 Delorie's DOS port of Gcc). Such an Emacs is heavily
840 underfeatured, because it does not supports long file names,
841 lacks proper subprocesses support, and is far too big
842 compared to typical DOS editors.
844 * GNU Emacs compiled with Win32
846 - Starting with version 19.30, it has been possible to compile
847 GNU Emacs under MS Windows using the DJGPP compiler and X
848 libraries. The result is is very similar to GNU Emacs
849 compiled under MS DOS, only it supports longer file names,
850 etc. This "port" is similar to the "X" flavor of XEmacs on
855 - NT Emacs is a version of GNU Emacs modified to compile and
856 run under MS MS Windows 95 and NT using the native Win32 API.
857 As such, it is close in spirit to the XEmacs "native" port.
859 - NT Emacs has been written by Geoff Voelker, and more
860 information can be found at
861 `http://www.cs.washington.edu/homes/voelker/ntemacs.html'.
866 - Beginning with XEmacs 19.12, XEmacs' architecture has been
867 redesigned in such a way to allow clean support of multiple
868 window systems. At this time the TTY support was added,
869 making X and TTY the first two "window systems" XEmacs
870 supported. The 19.12 design is the basis for the current
871 native MS Windows code.
873 - Some time during 1997, David Hobley (soon joined by Marc
874 Paquette) imported some of the NT-specific portions of GNU
875 Emacs, making XEmacs with X support compile under Windows NT,
876 and creating the "X" port.
878 - Several months later, Jonathan Harris sent out initial
879 patches to use the Win32 API, thus creating the native port.
880 Since then, various people have contributed, including Kirill
881 M. Katsnelson (contributed support for menubars, subprocesses
882 and network, as well as loads of other code), Andy Piper
883 (ported XEmacs to Cygwin environment, contributed Windows
884 unexec, Windows-specific glyphs and toolbars code, and more),
885 Jeff Sparkes (contributed scrollbars support) and many others.
890 File: xemacs-faq.info, Node: Q6.3.3, Next: Q6.4.1, Prev: Q6.3.2, Up: MS Windows
892 Q6.3.3: What is the porting team doing at the moment?
893 -----------------------------------------------------
895 The porting team is continuing work on the MS Windows-specific code.
898 File: xemacs-faq.info, Node: Q6.4.1, Prev: Q6.3.3, Up: MS Windows
903 Q6.4.1 XEmacs won't start on Windows. (NEW)
904 -------------------------------------------
906 XEmacs relies on a process called "dumping" to generate a working
907 executable. Under MS-Windows this process effectively fixes the memory
908 addresses of information in the executable. When XEmacs starts up it
909 tries to reserve these memory addresses so that the dumping process can
910 be reversed - putting the information back at the correct addresses.
911 Unfortunately some .dlls (For instance the soundblaster driver) occupy
912 memory addresses that can conflict with those needed by the dumped
913 XEmacs executable. In this instance XEmacs will fail to start without
914 any explanation. Note that this is extremely machine specific.
916 21.1.10 includes a fix for this that makes more intelligent guesses
917 about which memory addresses will be free, and this should cure the
918 problem for most people. Unfortunately, no binary is yet available for
919 this version. Check back periodically at
921 `ftp://ftp.xemacs.org/pub/xemacs/binaries/'.
923 21.2 implements "portable dumping" which will eliminate the problem
924 altogether. You might have better luck with the 21.2 beta binary,
927 `ftp://ftp.xemacs.org/pub/xemacs/beta/binaries/'.
930 File: xemacs-faq.info, Node: Current Events, Prev: MS Windows, Up: Top
932 7 What the Future Holds
933 ***********************
935 This is part 7 of the XEmacs Frequently Asked Questions list. This
936 section will change monthly, and contains any interesting items that
937 have transpired over the previous month. If you are reading this from
938 the XEmacs distribution, please see the version on the Web or archived
939 at the various FAQ FTP sites, as this file is surely out of date.
943 * Q7.0.1:: What is new in 20.2?
944 * Q7.0.2:: What is new in 20.3?
945 * Q7.0.3:: What is new in 20.4?
946 * Q7.0.4:: Procedural changes in XEmacs development.
949 File: xemacs-faq.info, Node: Q7.0.1, Next: Q7.0.2, Prev: Current Events, Up: Current Events
954 Q7.0.1: What is new in 20.2?
955 ----------------------------
957 The biggest changes in 20.2 include integration of EFS (the next
958 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
959 major mode for editing Tex and LaTeX, and a lot of other stuff). Many
960 bugs from 20.0 have been fixed for this release. 20.2 also contains a
961 new system for customizing XEmacs options, invoked via `M-x customize'.
963 XEmacs 20.2 is the development release (20.0 was beta), and is no
964 longer considered unstable.
967 File: xemacs-faq.info, Node: Q7.0.2, Next: Q7.0.3, Prev: Q7.0.1, Up: Current Events
969 Q7.0.2: What is new in 20.3?
970 ----------------------------
972 XEmacs 20.3 was released in November 1997. It contains many bugfixes,
973 and a number of new features, including Autoconf 2 based configuration,
974 additional support for Mule (Multi-language extensions to Emacs), many
975 more customizations, multiple frames on TTY-s, support for multiple info
976 directories, an enhanced gnuclient, improvements to regexp matching,
977 increased MIME support, and many, many synches with GNU Emacs 20.
979 The XEmacs/Mule support has been only seriously tested in a Japanese
980 locale, and no doubt many problems still remain. The support for
981 ISO-Latin-1 and Japanese is fairly strong. MULE support comes at a
982 price--about a 30% slowdown from 19.16. We're making progress on
983 improving performance and XEmacs 20.3 compiled without Mule (which is
984 the default) is definitely faster than XEmacs 19.16.
986 XEmacs 20.3 is the first non-beta v20 release, and will be the basis
987 for all further development.
990 File: xemacs-faq.info, Node: Q7.0.3, Next: Q7.0.4, Prev: Q7.0.2, Up: Current Events
992 Q7.0.3: What's new in XEmacs 20.4?
993 ----------------------------------
995 XEmacs 20.4 is a bugfix release with no user-visible changes.
998 File: xemacs-faq.info, Node: Q7.0.4, Prev: Q7.0.3, Up: Current Events
1000 Q7.0.4: Procedural changes in XEmacs development.
1001 -------------------------------------------------
1003 1. Discussion about the development of XEmacs occurs on the
1004 xemacs-beta mailing list. Subscriptions to this list will now be
1005 fully automated instead of being handled by hand. Send a mail
1006 message to <xemacs-beta-request@xemacs.org> with `subscribe' as the
1007 BODY of the message to join the list. Please note this is a
1008 developers mailing list for people who have an active interest in
1009 the development process.
1011 The discussion of NT XEmacs development is taking place on a
1012 separate mailing list. Send mail to
1013 <xemacs-nt-request@xemacs.org> to subscribe.
1015 2. Due to the long development cycle in between releases, it has been
1016 decided that intermediate versions will be made available in
1017 source only form for the truly interested.
1019 XEmacs 19.16 was the last 19 release, basically consisting of
1020 19.15 plus the collected bugfixes.
1022 3. As of December 1996, Steve Baur <steve@xemacs.org> has become the
1023 lead maintainer of XEmacs.