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.10, Next: Q5.1.11, Prev: Q5.1.9, Up: Miscellaneous
12 Q5.1.10: `map-extents' won't traverse all of my extents!
13 --------------------------------------------------------
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?
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.
25 (map-extents (lambda (ext ignore)
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:
32 (map-extents (lambda (ext ignore)
38 File: xemacs-faq.info, Node: Q5.1.11, Next: Q5.2.1, Prev: Q5.1.10, Up: Miscellaneous
40 Q5.1.11: My elisp program is horribly slow. Is there
41 -----------------------------------------------------
43 an easy way to find out where it spends time?
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.
52 File: xemacs-faq.info, Node: Q5.2.1, Next: Q5.2.2, Prev: Q5.1.11, Up: Miscellaneous
54 Q5.2.1: How do I turn off the sound?
55 ------------------------------------
57 Add the following line to your `init.el'/`.emacs':
60 (setq sound-alist nil)
62 That will make your XEmacs totally silent--even the default ding
63 sound (TTY beep on TTY-s) will be gone.
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>'.
71 File: xemacs-faq.info, Node: Q5.2.2, Next: Q5.2.3, Prev: Q5.2.1, Up: Miscellaneous
73 Q5.2.2: How do I get funky sounds instead of a boring beep?
74 -----------------------------------------------------------
76 Make sure your XEmacs was compiled with sound support, and then put
77 this in your `init.el'/`.emacs':
82 File: xemacs-faq.info, Node: Q5.2.3, Next: Q5.2.4, Prev: Q5.2.2, Up: Miscellaneous
84 Q5.2.3: What's NAS, how do I get it?
85 ------------------------------------
87 *Note Q2.0.3::, for an explanation of the "Network Audio System".
90 File: xemacs-faq.info, Node: Q5.2.4, Next: Q5.3.1, Prev: Q5.2.3, Up: Miscellaneous
92 Q5.2.4: Sunsite sounds don't play.
93 ----------------------------------
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.
99 Markus Gutschke <gutschk@uni-muenster.de> writes:
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
111 File: xemacs-faq.info, Node: Q5.3.1, Next: Q5.3.2, Prev: Q5.2.4, Up: Miscellaneous
116 Q5.3.1: How do you make XEmacs indent CL if-clauses correctly?
117 --------------------------------------------------------------
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
123 One way is to add, to `init.el'/`.emacs':
125 (put 'if 'lisp-indent-function nil)
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
133 (setq lisp-indent-function (function common-lisp-indent-function))
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:
138 (put 'if 'common-lisp-indent-function '(nil nil &body))
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.
146 File: xemacs-faq.info, Node: Q5.3.2, Next: Q5.3.3, Prev: Q5.3.1, Up: Miscellaneous
148 Q5.3.2: [This question intentionally left blank]
149 ------------------------------------------------
151 Obsolete question, left blank to avoid renumbering.
154 File: xemacs-faq.info, Node: Q5.3.3, Next: Q5.3.4, Prev: Q5.3.2, Up: Miscellaneous
156 Q5.3.3: How can I print WYSIWYG a font-locked buffer?
157 -----------------------------------------------------
159 Font-lock looks nice. How can I print (WYSIWYG) the highlighted
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'.
167 File: xemacs-faq.info, Node: Q5.3.4, Next: Q5.3.5, Prev: Q5.3.3, Up: Miscellaneous
169 Q5.3.4: Getting `M-x lpr' to work with postscript printer.
170 ----------------------------------------------------------
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'
176 Put something like this in your `init.el'/`.emacs':
178 (setq lpr-command "a2ps")
179 (setq lpr-switches '("-p" "-1"))
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.
186 File: xemacs-faq.info, Node: Q5.3.5, Next: Q5.3.6, Prev: Q5.3.4, Up: Miscellaneous
188 Q5.3.5: How do I specify the paths that XEmacs uses for finding files?
189 ----------------------------------------------------------------------
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
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.
204 File: xemacs-faq.info, Node: Q5.3.6, Next: Q5.3.7, Prev: Q5.3.5, Up: Miscellaneous
206 Q5.3.6: [This question intentionally left blank]
207 ------------------------------------------------
209 Obsolete question, left blank to avoid renumbering.
212 File: xemacs-faq.info, Node: Q5.3.7, Next: Q5.3.8, Prev: Q5.3.6, Up: Miscellaneous
214 Q5.3.7: Can I have the end of the buffer delimited in some way?
215 ---------------------------------------------------------------
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]"])))
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
231 (make-glyph '([xpm :file "~/something.xpm"]
232 [string :data "[END]"]))
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:
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 "\
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__________\",
265 [string :data "[END]"]))))
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.
271 File: xemacs-faq.info, Node: Q5.3.8, Next: Q5.3.9, Prev: Q5.3.7, Up: Miscellaneous
273 Q5.3.8: How do I insert today's date into a buffer?
274 ---------------------------------------------------
278 (insert (current-time-string))
281 File: xemacs-faq.info, Node: Q5.3.9, Next: Q5.3.10, Prev: Q5.3.8, Up: Miscellaneous
283 Q5.3.9: Are only certain syntactic character classes available for abbrevs?
284 ---------------------------------------------------------------------------
286 Markus Gutschke <gutschk@uni-muenster.de> writes:
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.
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.
299 Starting with XEmacs 20.3 this restriction has been lifted.
302 File: xemacs-faq.info, Node: Q5.3.10, Next: Q5.3.11, Prev: Q5.3.9, Up: Miscellaneous
304 Q5.3.10: How can I get those oh-so-neat X-Face lines?
305 -----------------------------------------------------
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/'.
313 1. Create 48x48x1 bitmap with your favorite tool
315 2. Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
316 and then compile the face.
318 3. cat file.xbm | xbm2ikon |compface > file.face
320 4. Then be sure to quote things that are necessary for emacs strings:
322 cat ./file.face | sed 's/\\/\\\\/g'
323 | sed 's/\"/\\\"/g' > ./file.face.quoted
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:
328 (setq mail-default-headers
329 "X-Face: <Ugly looking text string here>")
331 Or, alternatively, as:
333 (defun mail-insert-x-face ()
335 (goto-char (point-min))
336 (search-forward mail-header-separator)
339 (insert-file-contents "~/.face")))
341 (add-hook 'mail-setup-hook 'mail-insert-x-face)
343 However, 2 things might be wrong:
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:
349 cat file.xbm | xbm2ikon | tail +3 |compface > file.face
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 .
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
358 Contributors for this item:
360 Paul Emsley, Ricardo Marek, Amir J. Katz, Glen McCort, Heinz Uphoff,
361 Peter Arius, Paul Harrison, and Vegard Vesterheim
364 File: xemacs-faq.info, Node: Q5.3.11, Next: Q5.3.12, Prev: Q5.3.10, Up: Miscellaneous
366 Q5.3.11: How do I add new Info directories?
367 -------------------------------------------
369 You use something like:
371 (setq Info-directory-list (cons
372 (expand-file-name "~/info")
373 Info-default-directory-list))
375 David Masterson <davidm@prism.kla.com> writes:
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
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.
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.
389 3. Emacs Info looks for a standard `dir' file in each of the
390 directories scanned from #1 and magically concatenates them
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
400 Another alternative is to convert the documentation to HTML with
401 texi2html and read it from a web browser like Lynx or W3.
404 File: xemacs-faq.info, Node: Q5.3.12, Prev: Q5.3.11, Up: Miscellaneous
406 Q5.3.12: What do I need to change to make printing work?
407 --------------------------------------------------------
409 For regular printing there are two variables that can be customized.
412 This should be set to a command that takes standard input and sends
413 it to a printer. Something like:
415 (setq lpr-command "lp")
418 This should be set to a list that contains whatever the print
419 command requires to do its job. Something like:
421 (setq lpr-switches '("-depson"))
423 For postscript printing there are three analogous variables to
427 This should be set to a command that takes postscript on standard
428 input and directs it to a postscript printer.
431 This should be set to a list of switches required for
432 `ps-lpr-command' to do its job.
435 This boolean variable should be set `t' if printing will be done in
436 color, otherwise it should be set to `nil'.
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.
443 File: xemacs-faq.info, Node: MS Windows, Next: Current Events, Prev: Miscellaneous, Up: Top
445 6 XEmacs on MS Windows
446 **********************
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.
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?
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?
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?
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?
480 * Q6.4.1:: XEmacs won't start on Windows. (NEW)
483 File: xemacs-faq.info, Node: Q6.0.1, Next: Q6.0.2, Prev: MS Windows, Up: MS Windows
488 Q6.0.1: What is the status of the XEmacs port to Windows?
489 ---------------------------------------------------------
491 Is XEmacs really getting ported to MS Windows? What is the status
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).
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.
504 File: xemacs-faq.info, Node: Q6.0.2, Next: Q6.0.3, Prev: Q6.0.1, Up: MS Windows
506 Q6.0.2: What flavors of MS Windows are supported? The list name implies NT only.
507 ---------------------------------------------------------------------------------
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.
515 File: xemacs-faq.info, Node: Q6.0.3, Next: Q6.0.4, Prev: Q6.0.2, Up: MS Windows
517 Q6.0.3: Are binaries available?
518 -------------------------------
520 Binaries are available at
521 `ftp://ftp.xemacs.org/pub/xemacs/binaries/win32/' for the native MS
525 File: xemacs-faq.info, Node: Q6.0.4, Next: Q6.1.1, Prev: Q6.0.3, Up: MS Windows
527 Q6.0.4: Can I build XEmacs on MS Windows with support for X or Cygwin?
528 ----------------------------------------------------------------------
530 Yes. XEmacs can be built in several ways in the MS Windows
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.
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
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.
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.
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 &
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
570 File: xemacs-faq.info, Node: Q6.1.1, Next: Q6.1.2, Prev: Q6.0.4, Up: MS Windows
572 6.1: Building XEmacs on MS Windows
573 ==================================
575 Q6.1.1: I decided to run with X. Where do I get an X server?
576 -------------------------------------------------------------
578 Pointers to X servers can be found at
579 `http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/';
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
591 File: xemacs-faq.info, Node: Q6.1.2, Next: Q6.1.3, Prev: Q6.1.1, Up: MS Windows
593 Q6.1.2: What compiler do I need to compile XEmacs?
594 --------------------------------------------------
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.
602 File: xemacs-faq.info, Node: Q6.1.3, Next: Q6.1.4, Prev: Q6.1.2, Up: MS Windows
604 Q6.1.3: How do I compile for the native port?
605 ---------------------------------------------
607 Please read the file `nt/README' in the XEmacs distribution, which
608 contains the full description.
611 File: xemacs-faq.info, Node: Q6.1.4, Next: Q6.1.5, Prev: Q6.1.3, Up: MS Windows
613 Q6.1.4: How do I compile for the X port?
614 ----------------------------------------
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.
621 File: xemacs-faq.info, Node: Q6.1.5, Next: Q6.1.6, Prev: Q6.1.4, Up: MS Windows
623 Q6.1.5: How do I compile for Cygnus' Cygwin?
624 --------------------------------------------
626 Similar as on Unix; use the usual `configure' and `make' process.
627 Some problems to watch out for:
629 * make sure HOME is set. This controls where you `init.el'/`.emacs'
632 * CYGWIN needs to be set to tty for process support work. e.g.
633 CYGWIN=tty; (use CYGWIN32=tty under b19 and older.)
635 * picking up some other grep or other UNIX-like tools can kill
638 * static heap too small, adjust `src/sheap-adjust.h' to a more
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.
647 File: xemacs-faq.info, Node: Q6.1.6, Next: Q6.2.1, Prev: Q6.1.5, Up: MS Windows
649 Q6.1.6: What do I need for Cygwin?
650 ----------------------------------
652 You can find the Cygwin tools and compiler at:
654 `http://sourceware.cygnus.com/cygwin/'
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.
659 Another location, one of the mirror sites of the site just mentioned,
660 is usually a last faster:
662 `ftp://ftp.freesoftware.com/pub/sourceware/cygwin/'
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.
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
672 You will also need the X libraries. You can get them on the XEmacs
675 `ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin/'
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
683 (X libraries for v1 and beyond of Cygwin can be found on the Cygwin
684 site itself - look in the `xfree/' subdirectory.)
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.
696 Please see `http://www.xemacs.freeserve.co.uk/' (Andy Piper's home
697 page) for more information.
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.
704 File: xemacs-faq.info, Node: Q6.2.1, Next: Q6.2.2, Prev: Q6.1.6, Up: MS Windows
706 6.2: Customization and User Interface
707 =====================================
709 Q6.2.1: How will the port cope with differences in the Windows user interface?
710 ------------------------------------------------------------------------------
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
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.
722 In future versions, some of these packages might be turned on by
723 default in the MS Windows environment.
726 File: xemacs-faq.info, Node: Q6.2.2, Next: Q6.2.3, Prev: Q6.2.1, Up: MS Windows
728 Q6.2.2: How do I change fonts in XEmacs on MS Windows?
729 ------------------------------------------------------
731 In 21.2.*, use the font menu. In 21.1.*, you can change font
732 manually. For example:
734 (set-face-font 'default "Lucida Console:Regular:10")
735 (set-face-font 'modeline "MS Sans Serif:Regular:10")
738 File: xemacs-faq.info, Node: Q6.2.3, Next: Q6.3.1, Prev: Q6.2.2, Up: MS Windows
740 Q6.2.3: Where do I put my `init.el'/`.emacs' file?
741 --------------------------------------------------
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:\'.
750 File: xemacs-faq.info, Node: Q6.3.1, Next: Q6.3.2, Prev: Q6.2.3, Up: MS Windows
755 Q6.3.1: Will XEmacs rename all the win32-* symbols to w32-*?
756 ------------------------------------------------------------
758 In his flavor of Emacs 20, Richard Stallman has renamed all the
759 win32-* symbols to w32-*. Will XEmacs do the same?
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
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.
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.
780 File: xemacs-faq.info, Node: Q6.3.2, Next: Q6.3.3, Prev: Q6.3.1, Up: MS Windows
782 Q6.3.2: What are the differences between the various MS Windows emacsen?
783 ------------------------------------------------------------------------
785 XEmacs, Win-Emacs, DOS Emacs, NT Emacs, this is all very confusing.
786 Could you briefly explain the differences between them?
788 Here is a recount of various Emacs versions running on MS Windows:
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.
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.
807 * GNU Emacs compiled with Win32
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
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.
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'.
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.
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.
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.
853 File: xemacs-faq.info, Node: Q6.3.3, Next: Q6.4.1, Prev: Q6.3.2, Up: MS Windows
855 Q6.3.3: What is the porting team doing at the moment?
856 -----------------------------------------------------
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
867 File: xemacs-faq.info, Node: Q6.4.1, Prev: Q6.3.3, Up: MS Windows
872 Q6.4.1 XEmacs won't start on Windows. (NEW)
873 -------------------------------------------
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.
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
890 `ftp://ftp.xemacs.org/pub/xemacs/binaries/'.
892 21.2 implements "portable dumping" which will eliminate the problem
893 altogether. You might have better luck with the 21.2 beta binary,
896 `ftp://ftp.xemacs.org/pub/xemacs/beta/binaries/'.
899 File: xemacs-faq.info, Node: Current Events, Prev: MS Windows, Up: Top
901 7 What the Future Holds
902 ***********************
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.
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.
918 File: xemacs-faq.info, Node: Q7.0.1, Next: Q7.0.2, Prev: Current Events, Up: Current Events
923 Q7.0.1: What is new in 20.2?
924 ----------------------------
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'.
932 XEmacs 20.2 is the development release (20.0 was beta), and is no
933 longer considered unstable.
936 File: xemacs-faq.info, Node: Q7.0.2, Next: Q7.0.3, Prev: Q7.0.1, Up: Current Events
938 Q7.0.2: What is new in 20.3?
939 ----------------------------
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.
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.
955 XEmacs 20.3 is the first non-beta v20 release, and will be the basis
956 for all further development.
959 File: xemacs-faq.info, Node: Q7.0.3, Next: Q7.0.4, Prev: Q7.0.2, Up: Current Events
961 Q7.0.3: What's new in XEmacs 20.4?
962 ----------------------------------
964 XEmacs 20.4 is a bugfix release with no user-visible changes.
967 File: xemacs-faq.info, Node: Q7.0.4, Prev: Q7.0.3, Up: Current Events
969 Q7.0.4: Procedural changes in XEmacs development.
970 -------------------------------------------------
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.
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.
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.
988 XEmacs 19.16 was the last 19 release, basically consisting of
989 19.15 plus the collected bugfixes.
991 3. As of December 1996, Steve Baur <steve@xemacs.org> has become the
992 lead maintainer of XEmacs.