Mercurial > hg > xemacs-beta
comparison man/xemacs-faq.texi @ 593:5fd7ba8b56e7
[xemacs-hg @ 2001-05-31 12:45:27 by ben]
xemacs-faq.texi: Major rewrite.
Update all MS Windows info to current.
Redo section 6.1 almost completely.
Incorporate sections 1 and 2 of Hrvoje's FAQ.
etags.el: Fix infloop when going up to the root.
s\cygwin32.h: Don't unilaterally include ntplay, but only when we're compiling
with native sound (look in configure now).
event-msw.c: Fix yet more problems with C-g handling.
Implement debug-mswindows-events.
event-stream.c, events.h, signal.c, sysdep.h:
Rearrange the signal-handling code to eliminate the former
spaghetti logic paths in it. Document clearly what
"low-level" and "high-level" timeouts are. Rename some
functions with unclear names (e.g. "...alarm...") to names
that reflect what they actually do (e.g. "...async_timeout...").
Fix numerous bugs discovered in the process.
console-x.h, event-Xt.c, event-msw.c, frame-x.c:
Hopefully make XEmacs properly maintain the "iconified"
state on frames at all times. This should fix the "can't
delete a frame with C-x 5 0 when there's another iconified
frame out there" bug.
Put a notice in of further changes that should probably
be made to clean up the frame-visibility support.
(especially directed at Jan Vroonhof)
lisp.h, miscplay.c:
Rename SBufbyte to CBufbyte to avoid a misleading name.
Eliminate UChar, which is not used anywhere and contributes
no semantic info. Add a comment about the documentation-only
properties of the char/unsigned char typedefs. Add
SChar_Binary as an explicitly `signed' version of Char_Binary
and put back the `signed' declarations in miscplay.c.
alloc.c:
Use char typedefs.
console-msw.c, device-msw.c, dialog-msw.c, editfns.c, fileio.c, glyphs-eimage.c, menubar-msw.c, ntplay.c, objects-msw.c, realpath.c, redisplay-msw.c, select-msw.c, syswindows.h, win32.c:
Eliminate numerous C++ errors.
frame-msw.c:
Eliminate numerous C++ errors and Mule-ize.
glyphs-msw.c:
Eliminate numerous C++ errors and use char typedefs.
configure.in:
Fix problems detecting both native and Linux sound on Cygwin
when compiled with --with-msw=no.
Rearrange file-coding handling a bit to avoid warning when
compiling with Mule.
configure.in, configure.usage, INSTALL:
Document XEMACS_CC and corresponding compiler option --xemacs-compiler.
Explain how to build xemacs using a C++ compiler.
author | ben |
---|---|
date | Thu, 31 May 2001 12:45:41 +0000 |
parents | 183866b06e0b |
children | 38db05db9cb5 |
comparison
equal
deleted
inserted
replaced
592:4f6ba8f1fb3d | 593:5fd7ba8b56e7 |
---|---|
5 @setchapternewpage off | 5 @setchapternewpage off |
6 @c %**end of header | 6 @c %**end of header |
7 @finalout | 7 @finalout |
8 @titlepage | 8 @titlepage |
9 @title XEmacs FAQ | 9 @title XEmacs FAQ |
10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2001/05/24 07:50:53 $ | 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2001/05/31 12:45:30 $ |
11 @sp 1 | 11 @sp 1 |
12 @author Tony Rossini <rossini@@biostat.washington.edu> | 12 @author Tony Rossini <rossini@@biostat.washington.edu> |
13 @author Ben Wing <ben@@xemacs.org> | 13 @author Ben Wing <ben@@xemacs.org> |
14 @author Chuck Thompson <cthomp@@xemacs.org> | 14 @author Chuck Thompson <cthomp@@xemacs.org> |
15 @author Steve Baur <steve@@xemacs.org> | 15 @author Steve Baur <steve@@xemacs.org> |
378 | 378 |
379 General Info: | 379 General Info: |
380 * Q6.0.1:: What is the status of the XEmacs port to Windows? | 380 * Q6.0.1:: What is the status of the XEmacs port to Windows? |
381 * Q6.0.2:: What flavors of MS Windows are supported? | 381 * Q6.0.2:: What flavors of MS Windows are supported? |
382 * Q6.0.3:: Are binaries available? | 382 * Q6.0.3:: Are binaries available? |
383 * Q6.0.4:: Can I build XEmacs on MS Windows with support for X or Cygwin? | 383 * Q6.0.4:: Can I build XEmacs on MS Windows with X support? Do I need to? |
384 * Q6.0.5:: I'd like to help out. What do I do? | |
385 * Q6.0.6:: What are Cygwin and MinGW, and do I need them to run XEmacs? | |
386 * Q6.0.7:: What exactly are all the different ways to build XEmacs under Windows? | |
384 | 387 |
385 Building XEmacs on MS Windows: | 388 Building XEmacs on MS Windows: |
386 * Q6.1.1:: I decided to run with X. Where do I get an X server? | 389 * Q6.1.1:: What compiler/libraries do I need to compile XEmacs? |
387 * Q6.1.2:: What compiler do I need to compile XEmacs? | 390 * Q6.1.2:: How do I compile the native port? |
388 * Q6.1.3:: How do I compile for the native port? | 391 * Q6.1.3:: What do I need for Cygwin? |
389 * Q6.1.4:: How do I compile for the X port? | 392 * Q6.1.4:: How do I compile under Cygwin? |
390 * Q6.1.5:: How do I compile for Cygnus' Cygwin? | 393 * Q6.1.5:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? |
391 * Q6.1.6:: What do I need for Cygwin? | 394 * Q6.1.6:: I decided to run with X. Where do I get an X server? |
395 * Q6.1.7:: How do I compile with X support? | |
392 | 396 |
393 Customization and User Interface: | 397 Customization and User Interface: |
394 * Q6.2.1:: How will the port cope with differences in the Windows user interface? | 398 * Q6.2.1:: How does the port cope with differences in the Windows user interface? |
395 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? | 399 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? |
396 * Q6.2.3:: Where do I put my @file{init.el}/@file{.emacs} file? | 400 * Q6.2.3:: Where do I put my @file{init.el}/@file{.emacs} file? |
397 | 401 |
398 Miscellaneous: | 402 Miscellaneous: |
399 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*? | 403 * Q6.3.1:: Does XEmacs rename all the win32-* symbols to w32-*? |
400 * Q6.3.2:: What are the differences between the various MS Windows emacsen? | 404 * Q6.3.2:: What are the differences between the various MS Windows emacsen? |
401 * Q6.3.3:: What is the porting team doing at the moment? | 405 * Q6.3.3:: What is the porting team doing at the moment? |
402 | 406 |
403 Troubleshooting: | 407 Troubleshooting: |
404 * Q6.4.1:: XEmacs won't start on Windows. (NEW) | 408 * Q6.4.1:: XEmacs won't start on Windows. (NEW) |
651 @end example | 655 @end example |
652 | 656 |
653 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction | 657 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction |
654 @unnumberedsubsec Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)? | 658 @unnumberedsubsec Q1.0.10: Is there a port of XEmacs to Microsoft ('95 or NT)? |
655 | 659 |
656 Yes, @xref{MS Windows}. | 660 Yes, see @ref{MS Windows}. |
657 | 661 |
658 @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction | 662 @node Q1.0.11, Q1.0.12, Q1.0.10, Introduction |
659 @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh? | 663 @unnumberedsubsec Q1.0.11: Is there a port of XEmacs to the Macintosh? |
660 @c changed | 664 @c changed |
661 | 665 |
1645 @code{gdb}. If you don't have any such debugger available, complain to | 1649 @code{gdb}. If you don't have any such debugger available, complain to |
1646 your system administrator. | 1650 your system administrator. |
1647 | 1651 |
1648 It's possible that a core file didn't get produced, in which case you're | 1652 It's possible that a core file didn't get produced, in which case you're |
1649 out of luck. Go complain to your system administrator and tell him not | 1653 out of luck. Go complain to your system administrator and tell him not |
1650 to disable core files by default. Also @xref{Q2.1.15}, for tips and | 1654 to disable core files by default. Also see @ref{Q2.1.15}, for tips and |
1651 techniques for dealing with a debugger. | 1655 techniques for dealing with a debugger. |
1652 | 1656 |
1653 When making a problem report make sure that: | 1657 When making a problem report make sure that: |
1654 | 1658 |
1655 @enumerate | 1659 @enumerate |
2225 | 2229 |
2226 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation | 2230 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation |
2227 @unnumberedsubsec Q2.1.18: XEmacs is outputting lots of X errors. | 2231 @unnumberedsubsec Q2.1.18: XEmacs is outputting lots of X errors. |
2228 | 2232 |
2229 If this is happening, we would very much like to know what's causing | 2233 If this is happening, we would very much like to know what's causing |
2230 them. To find this out, @xref{Q2.1.15}. Try to get both a C and Lisp | 2234 them. To find this out, see @ref{Q2.1.15}. Try to get both a C and Lisp |
2231 backtrace, and send them to @email{xemacs-beta@@xemacs.org}. | 2235 backtrace, and send them to @email{xemacs-beta@@xemacs.org}. |
2232 | 2236 |
2233 @node Q2.1.19, Q2.1.20, Q2.1.18, Installation | 2237 @node Q2.1.19, Q2.1.20, Q2.1.18, Installation |
2234 @unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone. | 2238 @unnumberedsubsec Q2.1.19: XEmacs does not follow the local timezone. |
2235 | 2239 |
2331 You have been used to doing `foo', but now when you invoke it (or click | 2335 You have been used to doing `foo', but now when you invoke it (or click |
2332 the toolbar button or select the menu item), nothing (or an error) | 2336 the toolbar button or select the menu item), nothing (or an error) |
2333 happens. The simplest explanation is that you are missing a package | 2337 happens. The simplest explanation is that you are missing a package |
2334 that is essential to you. You can either track it down and install it | 2338 that is essential to you. You can either track it down and install it |
2335 (there is a list of packages and brief descriptions of their contents in | 2339 (there is a list of packages and brief descriptions of their contents in |
2336 @file{etc/PACKAGES}), or install the `Sumo Tarball' (see @pxref{Q2.0.14}). | 2340 @file{etc/PACKAGES}), or install the `Sumo Tarball' (@pxref{Q2.0.14}). |
2337 | 2341 |
2338 @c #### should xref to XEmacs manual here | 2342 @c #### should xref to XEmacs manual here |
2339 | 2343 |
2340 @node Customization, Subsystems, Installation, Top | 2344 @node Customization, Subsystems, Installation, Top |
2341 @unnumbered 3 Customization and Options | 2345 @unnumbered 3 Customization and Options |
3007 @unnumberedsubsec Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem? How? | 3011 @unnumberedsubsec Q3.4.2: Can I really connect to a running XEmacs after calling up over a modem? How? |
3008 | 3012 |
3009 Yes. Use @code{gnuclient -nw}. (Prior to 20.3, use the @code{gnuattach} | 3013 Yes. Use @code{gnuclient -nw}. (Prior to 20.3, use the @code{gnuattach} |
3010 program supplied with XEmacs instead.) | 3014 program supplied with XEmacs instead.) |
3011 | 3015 |
3012 Also @xref{Q5.0.12}. | 3016 Also see @ref{Q5.0.12}. |
3013 | 3017 |
3014 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization | 3018 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization |
3015 @unnumberedsec 3.5: The Keyboard | 3019 @unnumberedsec 3.5: The Keyboard |
3016 @unnumberedsubsec Q3.5.1: How can I bind complex functions (or macros) to keys? | 3020 @unnumberedsubsec Q3.5.1: How can I bind complex functions (or macros) to keys? |
3017 | 3021 |
3102 | 3106 |
3103 (define-key key-translation-map 'delete 'redirected-delete) | 3107 (define-key key-translation-map 'delete 'redirected-delete) |
3104 (global-set-key 'redirected-delete 'foo) | 3108 (global-set-key 'redirected-delete 'foo) |
3105 @end lisp | 3109 @end lisp |
3106 | 3110 |
3107 Also @xref{Q3.5.10}. | 3111 Also see @ref{Q3.5.10}. |
3108 | 3112 |
3109 @node Q3.5.5, Q3.5.6, Q3.5.4, Customization | 3113 @node Q3.5.5, Q3.5.6, Q3.5.4, Customization |
3110 @unnumberedsubsec Q3.5.5: Scrolling one line at a time. | 3114 @unnumberedsubsec Q3.5.5: Scrolling one line at a time. |
3111 | 3115 |
3112 Can the cursor keys scroll the screen a line at a time, rather than the | 3116 Can the cursor keys scroll the screen a line at a time, rather than the |
3242 @code{delete-key-deletes-forward} to t. You can also change this with | 3246 @code{delete-key-deletes-forward} to t. You can also change this with |
3243 Customize. Select from the @code{Options} menu | 3247 Customize. Select from the @code{Options} menu |
3244 @code{Advanced (Customize)->Emacs->Editing->Basics->Delete Key Deletes Forward} or | 3248 @code{Advanced (Customize)->Emacs->Editing->Basics->Delete Key Deletes Forward} or |
3245 type @kbd{M-x customize @key{RET} editing-basics @key{RET}}. | 3249 type @kbd{M-x customize @key{RET} editing-basics @key{RET}}. |
3246 | 3250 |
3247 Also @xref{Q3.5.4}. | 3251 Also see @ref{Q3.5.4}. |
3248 | 3252 |
3249 @node Q3.5.10, Q3.5.11, Q3.5.9, Customization | 3253 @node Q3.5.10, Q3.5.11, Q3.5.9, Customization |
3250 @unnumberedsubsec Q3.5.10: Can I turn on @dfn{sticky} modifier keys? | 3254 @unnumberedsubsec Q3.5.10: Can I turn on @dfn{sticky} modifier keys? |
3251 | 3255 |
3252 Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the | 3256 Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the |
3719 (setq zmacs-regions nil) | 3723 (setq zmacs-regions nil) |
3720 @end lisp | 3724 @end lisp |
3721 | 3725 |
3722 @strong{Warning: This command turns off all region highlighting.} | 3726 @strong{Warning: This command turns off all region highlighting.} |
3723 | 3727 |
3724 Also @xref{Q3.10.1}. | 3728 Also see @ref{Q3.10.1}. |
3725 | 3729 |
3726 @node Q3.10.5, , Q3.10.4, Customization | 3730 @node Q3.10.5, , Q3.10.4, Customization |
3727 @unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling. | 3731 @unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling. |
3728 | 3732 |
3729 This has been fixed by default starting with XEmacs-20.3. | 3733 This has been fixed by default starting with XEmacs-20.3. |
5853 | 5857 |
5854 General Info | 5858 General Info |
5855 * Q6.0.1:: What is the status of the XEmacs port to Windows? | 5859 * Q6.0.1:: What is the status of the XEmacs port to Windows? |
5856 * Q6.0.2:: What flavors of MS Windows are supported? | 5860 * Q6.0.2:: What flavors of MS Windows are supported? |
5857 * Q6.0.3:: Where are the XEmacs on MS Windows binaries? | 5861 * Q6.0.3:: Where are the XEmacs on MS Windows binaries? |
5858 * Q6.0.4:: Can I build XEmacs on MS Windows with support for X or Cygwin? | 5862 * Q6.0.4:: Can I build XEmacs on MS Windows with X support? Do I need to? |
5863 * Q6.0.5:: I'd like to help out. What do I do? | |
5864 * Q6.0.6:: What are Cygwin and MinGW, and do I need them to run XEmacs? | |
5865 * Q6.0.7:: What exactly are all the different ways to build XEmacs under Windows? | |
5859 | 5866 |
5860 Building XEmacs on MS Windows | 5867 Building XEmacs on MS Windows |
5861 * Q6.1.1:: I decided to run with X. Where do I get an X server? | 5868 * Q6.1.1:: What compiler/libraries do I need to compile XEmacs? |
5862 * Q6.1.2:: What compiler do I need to compile XEmacs? | 5869 * Q6.1.2:: How do I compile the native port? |
5863 * Q6.1.3:: How do I compile for the native port? | 5870 * Q6.1.3:: What do I need for Cygwin? |
5864 * Q6.1.4:: How do I compile for the X port? | 5871 * Q6.1.4:: How do I compile under Cygwin? |
5865 * Q6.1.5:: How do I compile for Cygnus' Cygwin? | 5872 * Q6.1.5:: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? |
5866 * Q6.1.6:: What do I need for Cygwin? | 5873 * Q6.1.6:: I decided to run with X. Where do I get an X server? |
5874 * Q6.1.7:: How do I compile with X support? | |
5867 | 5875 |
5868 Customization and User Interface | 5876 Customization and User Interface |
5869 * Q6.2.1:: How will the port cope with differences in the Windows user interface? | 5877 * Q6.2.1:: How does the port cope with differences in the Windows user interface? |
5870 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? | 5878 * Q6.2.2:: How do I change fonts in XEmacs on MS Windows? |
5871 * Q6.2.3:: Where do I put my @file{init.el}/@file{.emacs} file? | 5879 * Q6.2.3:: Where do I put my @file{init.el}/@file{.emacs} file? |
5872 | 5880 |
5873 Miscellaneous | 5881 Miscellaneous |
5874 * Q6.3.1:: Will XEmacs rename all the win32-* symbols to w32-*? | 5882 * Q6.3.1:: Does XEmacs rename all the win32-* symbols to w32-*? |
5875 * Q6.3.2:: What are the differences between the various MS Windows emacsen? | 5883 * Q6.3.2:: What are the differences between the various MS Windows emacsen? |
5876 * Q6.3.3:: What is the porting team doing at the moment? | 5884 * Q6.3.3:: What is the porting team doing at the moment? |
5877 | 5885 |
5878 Troubleshooting: | 5886 Troubleshooting: |
5879 * Q6.4.1:: XEmacs won't start on Windows. (NEW) | 5887 * Q6.4.1:: XEmacs won't start on Windows. (NEW) |
5882 | 5890 |
5883 @node Q6.0.1, Q6.0.2, MS Windows, MS Windows | 5891 @node Q6.0.1, Q6.0.2, MS Windows, MS Windows |
5884 @unnumberedsec 6.0: General Info | 5892 @unnumberedsec 6.0: General Info |
5885 @unnumberedsubsec Q6.0.1: What is the status of the XEmacs port to Windows? | 5893 @unnumberedsubsec Q6.0.1: What is the status of the XEmacs port to Windows? |
5886 | 5894 |
5887 Is XEmacs really getting ported to MS Windows? What is the status of the port? | 5895 Is XEmacs really ported to MS Windows? What is the status of the port? |
5888 | 5896 |
5889 Yes, a group of volunteers actively works on making XEmacs code base | 5897 Beginning with release 21.0, XEmacs has worked under MS Windows. A |
5890 cleanly compile and run on MS Windows operating systems. The mailing | 5898 group of dedicated developers actively maintains and improves the |
5891 list at @email{xemacs-nt@@xemacs.org} is dedicated to that effort | 5899 Windows-specific portions of the code. The mailing list at |
5892 (please use the -request address to subscribe). | 5900 @email{xemacs-nt@@xemacs.org} is dedicated to that effort (please use |
5893 | 5901 the -request address to subscribe). (Despite its name, XEmacs actually |
5894 At this time, XEmacs on MS Windows is stable and full-featured. | 5902 works on all versions of Windows.) |
5895 However, the internationalization (Mule) support does not work -- | 5903 |
5896 although this is being actively worked on. | 5904 As of May 2001, XEmacs on MS Windows is stable and full-featured, and |
5905 has been so for a year or more -- in fact, some features, such as | |
5906 printing, actually work better on Windows than native Unix. However, | |
5907 the internationalization (Mule) support does not work -- although this | |
5908 is being actively worked on. | |
5909 | |
5897 | 5910 |
5898 @node Q6.0.2, Q6.0.3, Q6.0.1, MS Windows | 5911 @node Q6.0.2, Q6.0.3, Q6.0.1, MS Windows |
5899 @unnumberedsubsec Q6.0.2: What flavors of MS Windows are supported? The list name implies NT only. | 5912 @unnumberedsubsec Q6.0.2: What flavors of MS Windows are supported? The list name implies NT only. |
5900 | 5913 |
5901 The list name is misleading, as XEmacs will support Windows 95, Windows | 5914 The list name is misleading, as XEmacs supports and has been compiled on |
5902 98, Windows NT, Windows 2000, Windows ME, Windows XP, and all newer | 5915 Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows |
5903 versions of Windows. The MS Windows-specific code is based on Microsoft | 5916 XP, and all newer versions of Windows. The MS Windows-specific code is |
5904 Win32 API, and will not work on MS Windows 3.x or on MS-DOS. | 5917 based on Microsoft Win32 API, and will not work on MS Windows 3.x or on |
5918 MS-DOS. | |
5919 | |
5920 XEmacs also supports the Cygwin and MinGW development and runtime | |
5921 environments, where it also uses native Windows code for graphical | |
5922 features. | |
5905 | 5923 |
5906 | 5924 |
5907 @node Q6.0.3, Q6.0.4, Q6.0.2, MS Windows | 5925 @node Q6.0.3, Q6.0.4, Q6.0.2, MS Windows |
5908 @unnumberedsubsec Q6.0.3: Are binaries available? | 5926 @unnumberedsubsec Q6.0.3: Are binaries available? |
5909 | 5927 |
5910 Binaries are available at | 5928 Binaries are available at @uref{http://www.xemacs.org/Download/win32/} |
5911 @uref{ftp://ftp.xemacs.org/pub/xemacs/binaries/win32/} for the native MS | 5929 for the native and Cygwin MS Windows versions of 21.4, and the native |
5912 Windows version. | 5930 version of 21.1. |
5913 | 5931 |
5914 @node Q6.0.4, Q6.1.1, Q6.0.3, MS Windows | 5932 The 21.4 binaries use a modified version of the Cygwin installer. Run |
5915 @unnumberedsubsec Q6.0.4: Can I build XEmacs on MS Windows with support for X or Cygwin? | 5933 the provided @file{setup.exe}, and follow the instructions. |
5916 | 5934 |
5917 Yes. XEmacs can be built in several ways in the MS Windows environment. | 5935 |
5936 @node Q6.0.4, Q6.0.5, Q6.0.3, MS Windows | |
5937 @unnumberedsubsec Q6.0.4: Can I build XEmacs on MS Windows with X support? Do I need to? | |
5938 | |
5939 Yes, you can, but no you do not need to. In fact, we recommend that you | |
5940 use a native-GUI version unless you have a specific need for an X | |
5941 version. | |
5942 | |
5943 @node Q6.0.5, Q6.0.6, Q6.0.4, MS Windows | |
5944 @unnumberedsubsec Q6.0.5: I'd like to help out. What do I do? | |
5945 | |
5946 It depends on the knowledge and time you possess. If you are a | |
5947 programmer, try to build XEmacs and see if you can improve it. | |
5948 Windows-specific improvements like integration with established | |
5949 Windows environments are especially sought after. | |
5950 | |
5951 Otherwise, you can still help by downloading the binaries, using | |
5952 XEmacs as your everyday editor and reporting bugs you find to the | |
5953 mailing list. | |
5954 | |
5955 Another area where we need help is the documentation: We need good | |
5956 documentation for building XEmacs and for using it. This FAQ is a | |
5957 small step in that direction. | |
5958 | |
5959 @node Q6.0.6, Q6.0.7, Q6.0.5, MS Windows | |
5960 @unnumberedsubsec Q6.0.6: What are Cygwin and MinGW, and do I need them to run XEmacs? | |
5961 | |
5962 To answer the second part of the question: No, you, you don't need | |
5963 Cygwin or MinGW to build or to run XEmacs. But if you have them and | |
5964 want to use them, XEmacs supports these environments. | |
5965 | |
5966 (One important reason to support Cygwin is that it lets the MS Windows | |
5967 developers test out their code in a Unix environment without actually | |
5968 having to have a Unix machine around. For this reason alone, Cygwin | |
5969 support is likely to remain supported for a long time in XEmacs. Same | |
5970 goes for the X support under Cygwin, for the same reasons. MinGW | |
5971 support, on the other hand, depends on volunteers to keep it up to date; | |
5972 but this is generally not hard.) | |
5973 | |
5974 Cygwin is a set of tools providing Unix-like API on top of Win32. | |
5975 It makes it easy to port large Unix programs without significant | |
5976 changes to their source code. It is a development environment as well | |
5977 as a runtime environment. | |
5978 | |
5979 When built with Cygwin, XEmacs supports all display types -- TTY, X & | |
5980 Win32 GUI, and can be built with support for all three simultaneously. | |
5981 If you build with Win32 GUI support then the Cygwin version uses the | |
5982 majority of the Windows-specific code, which is mostly related to | |
5983 display. If you want to build with X support you need X libraries (and | |
5984 an X server to display XEmacs on); see @ref{Q6.1.4}. TTY and Win32 GUI | |
5985 require no additional libraries beyond what comes standard with Cygwin. | |
5986 | |
5987 The advantages of the Cygwin version are that it integrates well with | |
5988 the Cygwin environment for existing Cygwin users; uses configure so | |
5989 building with different features is very easy; and actively supports X & | |
5990 TTY. Furthermore, the entire Cygwin environment and compiler are free, | |
5991 whereas Visual C++ costs money. | |
5992 | |
5993 The disadvantage is that it requires the whole Cygwin environment, | |
5994 whereas the native port requires only a suitable MS Windows compiler. | |
5995 Also, it follows the Unix filesystem and process model very closely | |
5996 (some will undoubtedly view this as an advantage). | |
5997 | |
5998 See @uref{http://sources.redhat.com/cygwin/} for more information on | |
5999 Cygwin. | |
6000 | |
6001 MinGW is a collection of header files and import libraries that allow | |
6002 one to use GCC under the Cygwin environment to compile and produce | |
6003 exactly the same native Win32 programs that you can using Visual C++. | |
6004 Programs compiled with MinGW make use of the standard Microsoft runtime | |
6005 library @file{MSVCRT.DLL}, present on all Windows systems, and look, | |
6006 feel, and act like a standard Visual-C-produced application. (The only | |
6007 difference is the compiler.) This means that, unlike a | |
6008 standardly-compiled Cygwin application, no extra runtime support | |
6009 (e.g. Cygwin's @file{cygwin1.dll}) is required. This, along with the | |
6010 fact that GCC is free (and works in a nice Unix-y way in a nice Unix-y | |
6011 environment, for those die-hard Unix hackers out there), is the main | |
6012 advantage of MinGW. It is also potentially faster than Cygwin because | |
6013 it has less overhead when calling Windows, but you lose the POSIX | |
6014 emulation layer, which makes Unix programs harder to port. (But this is | |
6015 irrelevant for XEmacs since it's already ported to Win32.) | |
6016 | |
6017 See @uref{http://www.mingw.org/} for more information on MinGW. | |
6018 | |
6019 @node Q6.0.7, Q6.1.1, Q6.0.6, MS Windows | |
6020 @unnumberedsubsec Q6.0.7: What exactly are all the different ways to build XEmacs under Windows? | |
6021 | |
6022 XEmacs can be built in several ways in the MS Windows environment. | |
5918 | 6023 |
5919 The standard way is what we call the "native" port. It uses the Win32 | 6024 The standard way is what we call the "native" port. It uses the Win32 |
5920 API and has no connection with X whatsoever -- it does not require X | 6025 API and has no connection with X whatsoever -- it does not require X |
5921 libraries to build, nor does it require an X server to run. The native | 6026 libraries to build, nor does it require an X server to run. The native |
5922 port is the most reliable version and provides the best graphical | 6027 port is the most reliable version and provides the best graphical |
5923 support. Almost all development is geared towards this version, and | 6028 support. Almost all development is geared towards this version, and |
5924 there is little reason not to use it. | 6029 there is little reason not to use it. |
5925 | 6030 |
5926 You can also build XEmacs "X" port---it requires X libraries to build | 6031 The second way to build is the Cygwin port. It takes advantage of |
5927 and an X server to run. Internally it uses the Xt event loop and makes | 6032 Cygnus emulation library under Win32. @xref{Q6.0.6}, for more |
5928 use of X toolkits. Its look is quite un-Windowsy, and it is not well | 6033 information. |
5929 maintained, but it is being kept around for the time being because it | 6034 |
5930 has a long history. | 6035 A third way is the MinGW port. It uses the Cygwin environment to build |
5931 | 6036 but does not require it at runtime. @xref{Q6.0.6}, for more |
5932 There is also a third special case, the Cygwin port. It takes | 6037 information. |
5933 advantage of Cygnus emulation library under Win32, which enables it to | 6038 |
5934 reuse much of the Unix XEmacs code base, such as processes and network | 6039 Finally, you might also be able to build the non-Cygwin, non-MinGW "X" |
5935 support, or internal select() mechanisms. | 6040 port. This was actually the first version of XEmacs that ran under MS |
5936 | 6041 Windows, and although the code is still in XEmacs, it's essentially |
5937 Cygwin port supports all display types---TTY, X & MS GUI, and can be | 6042 orphaned and it's unlikely it will compile without a lot of work. If |
5938 built with support for all three. If you build with MS GUI support | 6043 you want an MS Windows versin of XEmacs that supports X, use the Cygwin |
5939 then the Cygwin version uses the majority of the msw code, which is | 6044 version. (The X support there is actively maintained, so that Windows |
5940 mostly related to display. If you want to build with X support you | 6045 developers can test the X support in XEmacs.) |
5941 need X libraries. If you want to build with TTY support you need | 6046 |
5942 ncurses. MS GUI requires no additional libraries. | 6047 |
5943 | 6048 @node Q6.1.1, Q6.1.2, Q6.0.7, MS Windows |
5944 The advantages of the Cygwin version are that it integrates well with | |
5945 Cygwin environment for existing Cygwin users; uses configure so building | |
5946 with different features is very easy; and has process support in X & | |
5947 tty. | |
5948 | |
5949 The disadvantage is that it requires several Unix utilities and the | |
5950 whole Cygwin environment, whereas the native port requires only a | |
5951 suitable MS Windows compiler. Also, it follows the Unix filesystem and | |
5952 process model very closely (some will undoubtedly view this as an | |
5953 advantage). | |
5954 | |
5955 @node Q6.1.1, Q6.1.2, Q6.0.4, MS Windows | |
5956 @unnumberedsec 6.1: Building XEmacs on MS Windows | 6049 @unnumberedsec 6.1: Building XEmacs on MS Windows |
5957 @unnumberedsubsec Q6.1.1: I decided to run with X. Where do I get an X server? | 6050 @unnumberedsubsec Q6.1.1: What compiler/libraries do I need to compile XEmacs? |
5958 | 6051 |
5959 Pointers to X servers can be found at | 6052 You need Visual C++ 4.2, 5.0, or 6.0 for the native version. (We have |
5960 @iftex | 6053 some beta testers currently trying to compile with VC.NET, aka version |
5961 @* | 6054 7.0, but we can't yet report complete success.) For the Cygwin and MinGW |
5962 @end iftex | 6055 versions, you need the Cygwin environment, which comes with GCC, the |
5963 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/}; | 6056 compiler used for those versions. @xref{Q6.0.6}, for more information |
5964 | 6057 on Cygwin and MinGW. |
5965 look for "Where to get an X server". Also note that, although the above | |
5966 page talks about Cygnus gnu-win32 (Cygwin), the information on X servers | |
5967 is Cygwin-independent. You don't have to be running/using Cygwin to use | |
5968 these X servers, and you don't have to compile XEmacs under Cygwin to | |
5969 use XEmacs with these X servers. An "X port" XEmacs compiled under | |
5970 Visual C++ will work with these X servers (as will XEmacs running on a | |
5971 Unix box, redirected to the server running on your PC). | |
5972 | |
5973 | 6058 |
5974 @node Q6.1.2, Q6.1.3, Q6.1.1, MS Windows | 6059 @node Q6.1.2, Q6.1.3, Q6.1.1, MS Windows |
5975 @unnumberedsubsec Q6.1.2: What compiler do I need to compile XEmacs? | 6060 @unnumberedsubsec Q6.1.2: How do I compile the native port? |
5976 | |
5977 You need Visual C++ 4.2, 5.0, or 6.0, with the exception of the Cygwin | |
5978 port, which uses Gcc. There is also a MINGW32 port of XEmacs (using | |
5979 Gcc, but using native libraries rather than the Cygwin libraries). #### | |
5980 More information about this should be provided. | |
5981 | |
5982 | |
5983 @node Q6.1.3, Q6.1.4, Q6.1.2, MS Windows | |
5984 @unnumberedsubsec Q6.1.3: How do I compile for the native port? | |
5985 | 6061 |
5986 Please read the file @file{nt/README} in the XEmacs distribution, which | 6062 Please read the file @file{nt/README} in the XEmacs distribution, which |
5987 contains the full description. | 6063 contains the full description. |
5988 | 6064 |
6065 @node Q6.1.3, Q6.1.4, Q6.1.2, MS Windows | |
6066 @unnumberedsubsec Q6.1.3: What do I need for Cygwin? | |
6067 | |
6068 You can find the Cygwin tools and compiler at: | |
6069 | |
6070 @uref{http://sources.redhat.com/cygwin/} | |
6071 | |
6072 Click on the @samp{Install now!} link, which will download a file | |
6073 @file{setup.exe}, which you can use to download everything else. (You | |
6074 will need to pick a mirror site; @samp{mirrors.rcn.net} is probably the | |
6075 best.) You should go ahead and install everything -- you'll get various | |
6076 ancillary libraries that XEmacs needs or likes, e.g. XPM, PNG, JPEG, | |
6077 TIFF, etc. | |
6078 | |
6079 If you want to compile under X, you will also need the X libraries; see | |
6080 @ref{Q6.1.6}. | |
6081 | |
5989 | 6082 |
5990 @node Q6.1.4, Q6.1.5, Q6.1.3, MS Windows | 6083 @node Q6.1.4, Q6.1.5, Q6.1.3, MS Windows |
5991 @unnumberedsubsec Q6.1.4: How do I compile for the X port? | 6084 @unnumberedsubsec Q6.1.4: How do I compile under Cygwin? |
5992 | |
5993 Again, it is described in @file{nt/README} in some detail. Basically, you | |
5994 need to get X11 libraries from ftp.x.org, and compile them. If the | |
5995 precompiled versions are available somewhere, I don't know of it. | |
5996 | |
5997 | |
5998 @node Q6.1.5, Q6.1.6, Q6.1.4, MS Windows | |
5999 @unnumberedsubsec Q6.1.5: How do I compile for Cygnus' Cygwin? | |
6000 | 6085 |
6001 Similar as on Unix; use the usual `configure' and `make' process. | 6086 Similar as on Unix; use the usual `configure' and `make' process. |
6002 Some problems to watch out for: | 6087 Some problems to watch out for: |
6003 | 6088 |
6004 @itemize @bullet | 6089 @itemize @bullet |
6005 @item | 6090 @item |
6006 make sure HOME is set. This controls where you | 6091 make sure HOME is set. This controls where you |
6007 @file{init.el}/@file{.emacs} file comes from; | 6092 @file{init.el}/@file{.emacs} file comes from; |
6008 | 6093 |
6009 @item | 6094 @item |
6010 CYGWIN needs to be set to tty for process support work. e.g. CYGWIN=tty; | 6095 CYGWIN needs to be set to tty for process support to work, e.g. CYGWIN=tty; |
6011 (use CYGWIN32=tty under b19 and older.) | |
6012 | 6096 |
6013 @item | 6097 @item |
6014 picking up some other grep or other UNIX-like tools can kill configure; | 6098 picking up some other grep or other UNIX-like tools can kill configure; |
6015 | 6099 |
6016 @item | 6100 @item |
6017 static heap too small, adjust @file{src/sheap-adjust.h} to a more positive | 6101 static heap too small, adjust @file{src/sheap-adjust.h} to a more positive |
6018 number; | 6102 number; |
6019 | 6103 |
6020 @item | 6104 @item |
6021 The Cygwin version doesn't understand @file{//machine/path} type paths so you | 6105 (Unconfirmed) The Cygwin version doesn't understand |
6022 will need to manually mount a directory of this form under a unix style | 6106 @file{//machine/path} type paths so you will need to manually mount a |
6023 directory for a build to work on the directory. | 6107 directory of this form under a unix style directory for a build to work |
6108 on the directory; | |
6109 | |
6110 @item | |
6111 If you're building @strong{WITHOUT} X11, don't forget to change symlinks | |
6112 @file{/usr/lib/libXpm.a} and @file{/usr/lib/libXpm.dll.a} to point to | |
6113 the non-X versions of these libraries. By default they point to the X | |
6114 versions. So: | |
6115 | |
6116 @example | |
6117 /usr/lib/libXpm.a -> /usr/lib/libXpm-noX.a | |
6118 /usr/lib/libXpm.dll.a -> /usr/lib/libXpm-noX.dll.a | |
6119 @end example | |
6120 | |
6121 | |
6122 @item | |
6123 Other problems are listed in the @file{PROBLEMS} file, in the top-level | |
6124 directory of the XEmacs sources. | |
6024 | 6125 |
6025 @end itemize | 6126 @end itemize |
6026 | 6127 |
6027 @node Q6.1.6, Q6.2.1, Q6.1.5, MS Windows | 6128 |
6028 @unnumberedsubsec Q6.1.6: What do I need for Cygwin? | 6129 @node Q6.1.5, Q6.1.6, Q6.1.4, MS Windows |
6029 | 6130 @unnumberedsubsec Q6.1.5: How do I compile using MinGW (aka @samp{the -mno-cygwin flag to gcc})? |
6030 You can find the Cygwin tools and compiler at: | 6131 |
6031 | 6132 Similar to the method for Unix. Things to remember: |
6032 @uref{http://sourceware.cygnus.com/cygwin/} | 6133 |
6033 | 6134 @itemize @bullet |
6034 You will need version b19 or later. | 6135 @item |
6035 The latest current version is 1.1.1. | 6136 Specify the target host on the command line for @file{./configure}, e.g. |
6036 Other common versions you will see are b20.1. | 6137 @samp{./configure i586-pc-mingw32}. |
6037 | 6138 |
6038 Another location, one of the mirror sites of the site just mentioned, | 6139 @item |
6039 is usually a last faster: | 6140 Be sure that your build directory is mounted such that it has the |
6040 | 6141 same path either as a cygwin path (@file{/build/xemacs}) or as a Windows |
6041 @uref{ftp://ftp.freesoftware.com/pub/sourceware/cygwin/} | 6142 path (@file{c:\build\xemacs}). |
6042 | 6143 |
6043 You can obtain the latest version (currently 1.1.1) from the | 6144 @item |
6044 @samp{latest/} subdirectory of either of the above two just-mentioned | 6145 Build @samp{gcc -mno-cygwin} versions of the extra libs, i.e. @file{libpng}, |
6045 URL's. | 6146 @file{compface}, etc. |
6046 | 6147 |
6047 @strong{WARNING: The version of GCC supplied under @samp{latest/}, as of | 6148 @item |
6048 June 6th, 2000, does not appear to work. It generates loads of spurious | 6149 Specify the target location of the extra libs on the command line |
6049 preprocessor warnings and errors, which makes it impossible to compile | 6150 to @file{configure}, e.g. |
6050 XEmacs with it.} | 6151 @samp{./configure --site-prefixes=/build/libs i586-pc-mingw32}. |
6051 | 6152 @end itemize |
6052 You will also need the X libraries. You can get them on the XEmacs FTP | 6153 |
6053 site at | 6154 |
6054 | 6155 @node Q6.1.6, Q6.1.7, Q6.1.5, MS Windows |
6055 @uref{ftp://ftp.xemacs.org/pub/xemacs/aux/cygwin/} | 6156 @unnumberedsubsec Q6.1.6: I decided to run with X. Where do I get an X server? |
6056 | 6157 |
6057 You will find b19 and b20 versions of the X libraries, plus b19 and b20 | 6158 As of May 2001, we are recommending that you use the port of XFree86 to |
6058 versions of stuff that should go into @samp{/usr/local/}, donated by | 6159 Cygwin. This has recently stabilized, and will undoubtedly soon make |
6059 Andy Piper. This includes pre-built versions of various graphics libraries, | 6160 most other MS Windows X servers obsolete. It is what the Windows |
6060 such as PNG, JPEG, TIFF, and XPM. (Remember, GIF support is built-in to | 6161 developers use to test the MS Windows X support. |
6061 XEmacs.) | 6162 |
6062 | 6163 To install, go to @uref{http://xfree86.cygwin.com/}. There is a |
6063 (X libraries for v1 and beyond of Cygwin can be found on the Cygwin site | 6164 detailed description on that site of exactly how to install it. This |
6064 itself -- look in the @samp{xfree/} subdirectory.) | 6165 installation also provides the libraries, include files, and other stuff |
6065 | 6166 needed for development; a large collection of internationalized fonts; |
6066 @emph{NOTE:} There are two versions of the XPM library provided in | 6167 the standard X utilities (xterm, twm, etc.) -- in a word, the works. |
6067 Andy's packets. Once is for building with X support, and the other for | 6168 |
6068 building without. The X version should work if you're building with | 6169 NOTE: As of late May 2001, there is a bug in the file |
6069 both X and Windows support. The two files are called @file{libXpm-X.a} | 6170 @file{startxwin.bat}, used to start X Windows. It passes the option |
6070 and @file{libXpm-noX.a} respectively, and you must symlink the | 6171 @samp{-engine -4} to the X server, which is bogus -- you need to edit |
6071 appropriate one to @file{libXpm.a}. @strong{CAREFUL:} By default, the | 6172 the file and change it to @samp{-engine 4}. |
6072 non-X version is symlinked in. If you then configure XEmacs with X, | 6173 |
6073 you won't run into problems until you start compiling @file{events.c}, | 6174 |
6074 at which point you'll get strange and decidedly non-obvious errors. | 6175 @node Q6.1.7, Q6.2.1, Q6.1.6, MS Windows |
6075 | 6176 @unnumberedsubsec Q6.1.7: How do I compile with X support? |
6076 Please see @uref{http://www.xemacs.freeserve.co.uk/} (Andy Piper's home | 6177 |
6077 page) for more information. | 6178 To compile under Cygwin, all you need to do is install XFree86 |
6078 | 6179 (@pxref{Q6.1.6}). Once installed, @file{configure} should automatically |
6079 BTW There are also libraries at | 6180 find the X libraries and compile with X support. |
6080 @iftex | 6181 |
6081 @* | 6182 As noted above, the non-Cygwin X support is basically orphaned, and |
6082 @end iftex | 6183 probably won't work. But if it want to try, it's described in |
6083 @uref{http://dao.gsfc.nasa.gov/software/grads/win32/X11R6.3/}, but | 6184 @file{nt/README} in some detail. Basically, you need to get X11 |
6084 these are not b19 compatible, and may in fact be native-compiled. | 6185 libraries from ftp.x.org, and compile them. If the precompiled versions |
6085 | 6186 are available somewhere, we don't know of it. |
6086 | 6187 |
6087 @node Q6.2.1, Q6.2.2, Q6.1.6, MS Windows | 6188 |
6189 @node Q6.2.1, Q6.2.2, Q6.1.7, MS Windows | |
6088 @unnumberedsec 6.2: Customization and User Interface | 6190 @unnumberedsec 6.2: Customization and User Interface |
6089 @unnumberedsubsec Q6.2.1: How will the port cope with differences in the Windows user interface? | 6191 @unnumberedsubsec Q6.2.1: How does the port cope with differences in the Windows user interface? |
6090 | 6192 |
6091 XEmacs (and Emacs in general) UI is pretty | 6193 XEmacs (and Emacs in general) UI is pretty different from what is |
6092 different from what is expected of a typical MS Windows program. How will | 6194 expected of a typical MS Windows program. How does the MS Windows port |
6093 the MS Windows port cope with it? | 6195 cope with it? |
6094 | 6196 |
6095 Fortunately, Emacs is also one of the most configurable editor beasts | 6197 As a general rule, we follow native MS Windows conventions as much as |
6096 in the world. The MS Windows "look and feel" (mark via shift-arrow, | 6198 possible. In cases where there's a clear UI conflict, we currently use |
6097 self-inserting deletes region, etc.) can be easily configured via | 6199 normal Unix XEmacs behavior by default, but make sure the MS Windows |
6098 various packages distributed with XEmacs. The `pending-delete' | 6200 "look and feel" (mark via shift-arrow, self-inserting deletes region, |
6099 package is an example of such a utility. | 6201 Alt selects menu items, etc.) is easily configurable (respectively: |
6100 | 6202 using the variable @code{shifted-motion-keys-select-region} in 21.4 and |
6101 In future versions, some of these packages might be turned on by | 6203 above [it's in fact the default in these versions], or the |
6204 @file{pc-select} package; using the @file{pending-del} package; and | |
6205 setting the variable @code{menu-accelerator-enabled} to | |
6206 @code{menu-force} in 21.4 and above). In fact, if you use the sample | |
6207 @file{init.el} file as your init file, you will get all these behaviors | |
6208 automatically turned on. | |
6209 | |
6210 In future versions, some of these features might be turned on by | |
6102 default in the MS Windows environment. | 6211 default in the MS Windows environment. |
6103 | 6212 |
6104 | 6213 |
6105 @node Q6.2.2, Q6.2.3, Q6.2.1, MS Windows | 6214 @node Q6.2.2, Q6.2.3, Q6.2.1, MS Windows |
6106 @unnumberedsubsec Q6.2.2: How do I change fonts in XEmacs on MS Windows? | 6215 @unnumberedsubsec Q6.2.2: How do I change fonts in XEmacs on MS Windows? |
6107 | 6216 |
6108 In 21.2.*, use the font menu. In 21.1.*, you can change font | 6217 In 21.4 and above, use the font menu. In all versions, you can change |
6109 manually. For example: | 6218 font manually. For example: |
6110 | 6219 |
6111 @display | 6220 @display |
6112 (set-face-font 'default "Lucida Console:Regular:10") | 6221 (set-face-font 'default "Lucida Console:Regular:10") |
6113 (set-face-font 'modeline "MS Sans Serif:Regular:10") | 6222 (set-face-font 'modeline "MS Sans Serif:Regular:10") |
6114 @end display | 6223 @end display |
6124 the HOME environment variable. If this is not set, it defaults to | 6233 the HOME environment variable. If this is not set, it defaults to |
6125 `C:\'. | 6234 `C:\'. |
6126 | 6235 |
6127 @node Q6.3.1, Q6.3.2, Q6.2.3, MS Windows | 6236 @node Q6.3.1, Q6.3.2, Q6.2.3, MS Windows |
6128 @unnumberedsec 6.3: Miscellaneous | 6237 @unnumberedsec 6.3: Miscellaneous |
6129 @unnumberedsubsec Q6.3.1: Will XEmacs rename all the win32-* symbols to w32-*? | 6238 @unnumberedsubsec Q6.3.1: Does XEmacs rename all the win32-* symbols to w32-*? |
6130 | 6239 |
6131 In his flavor of Emacs 20, Richard Stallman has renamed all the win32-* | 6240 In his flavor of Emacs 20, Richard Stallman has renamed all the win32-* |
6132 symbols to w32-*. Will XEmacs do the same? | 6241 symbols to w32-*. Does XEmacs do the same? |
6133 | 6242 |
6134 We consider such a move counter-productive, thus we will not use the | 6243 We consider such a move counter-productive, thus we will not use the |
6135 `w32' prefix. However, we do recognize that Win32 name is little more | 6244 `w32' prefix. However, we do recognize that Win32 name is little more |
6136 than a marketing buzzword (will it be Win64 in the next release?), so | 6245 than a marketing buzzword (will it be Win64 in the next release?), so |
6137 we decided not to use it. Using `windows-' would be wrong because the | 6246 we decided not to use it. Using `windows-' would be wrong because the |
6159 Here is a recount of various Emacs versions running on MS Windows: | 6268 Here is a recount of various Emacs versions running on MS Windows: |
6160 | 6269 |
6161 @itemize @bullet | 6270 @itemize @bullet |
6162 | 6271 |
6163 @item | 6272 @item |
6273 XEmacs | |
6274 | |
6275 @itemize @minus | |
6276 | |
6277 @item | |
6278 Beginning with XEmacs 19.12, XEmacs' architecture was redesigned | |
6279 in such a way to allow clean support of multiple window systems. At | |
6280 this time the TTY support was added, making X and TTY the first two | |
6281 "window systems" XEmacs supported. The 19.12 design is the basis for | |
6282 the current native MS Windows code. | |
6283 | |
6284 @item | |
6285 Some time during 1997, David Hobley (soon joined by Marc Paquette) | |
6286 imported some of the NT-specific portions of GNU Emacs, making XEmacs | |
6287 with X support compile under Windows NT, and creating the "X" port. | |
6288 | |
6289 @item | |
6290 Several months later, Jonathan Harris sent out initial patches to use | |
6291 the Win32 API, thus creating the native port. Since then, various | |
6292 people have contributed, including Kirill M. Katsnelson (contributed | |
6293 support for menubars, subprocesses and network, as well as loads of | |
6294 other code), Andy Piper (ported XEmacs to Cygwin environment, | |
6295 contributed Windows unexec, Windows-specific glyphs and toolbars code, | |
6296 and more), Ben Wing (loads of improvements; currently the most active MS | |
6297 Windows developer), Jeff Sparkes (contributed scrollbars support) and | |
6298 many others. | |
6299 @end itemize | |
6300 | |
6301 @item | |
6302 NT Emacs | |
6303 | |
6304 @itemize @minus | |
6305 | |
6306 @item | |
6307 NT Emacs is a version of GNU Emacs modified to compile and run under | |
6308 MS MS Windows 95 and NT using the native Win32 API. As such, it is close | |
6309 in spirit to the XEmacs "native" port. | |
6310 | |
6311 @item | |
6312 NT Emacs has been written by Geoff Voelker, and more information can be | |
6313 found at | |
6314 @iftex | |
6315 @* | |
6316 @end iftex | |
6317 @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}. | |
6318 @end itemize | |
6319 | |
6320 @item | |
6164 Win-Emacs | 6321 Win-Emacs |
6165 | 6322 |
6166 @itemize @minus | 6323 @itemize @minus |
6167 | 6324 |
6168 @item | 6325 @item |
6169 Win-Emacs is a port of Lucid Emacs 19.6 to MS Windows using X | 6326 Win-Emacs was a port of Lucid Emacs 19.6 to MS Windows using X |
6170 compatibility libraries. Win-Emacs has been written by Ben Wing. The | 6327 compatibility libraries. Win-Emacs was written by Ben Wing. The MS |
6171 MS Windows code has not made it back to Lucid Emacs, which left Win-Emacs | 6328 Windows code never made it back to Lucid Emacs, and its creator (Pearl |
6172 pretty much dead for our purposes. Win-Emacs used to be available at | 6329 Software) has long since gone out of business. |
6173 Pearlsoft, but not anymore, since Pearlsoft went out of business. | |
6174 @end itemize | 6330 @end itemize |
6175 | 6331 |
6176 @item | 6332 @item |
6177 GNU Emacs for DOS | 6333 GNU Emacs for DOS |
6178 | 6334 |
6179 @itemize @minus | 6335 @itemize @minus |
6180 | 6336 |
6181 @item | 6337 @item |
6182 GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS | 6338 GNU Emacs features support for MS-DOS and DJGPP (D.J. Delorie's DOS |
6183 port of Gcc). Such an Emacs is heavily underfeatured, because it does | 6339 port of Gcc). Such an Emacs is heavily underfeatured, because it does |
6184 not supports long file names, lacks proper subprocesses support, and | 6340 not support long file names, lacks proper subprocesses support, and |
6185 is far too big compared to typical DOS editors. | 6341 is far too big compared to typical DOS editors. |
6186 @end itemize | 6342 @end itemize |
6187 | 6343 |
6188 @item | 6344 @item |
6189 GNU Emacs compiled with Win32 | 6345 GNU Emacs compiled with Win32 |
6196 is is very similar to GNU Emacs compiled under MS DOS, only it | 6352 is is very similar to GNU Emacs compiled under MS DOS, only it |
6197 supports longer file names, etc. This "port" is similar to the "X" | 6353 supports longer file names, etc. This "port" is similar to the "X" |
6198 flavor of XEmacs on MS Windows. | 6354 flavor of XEmacs on MS Windows. |
6199 @end itemize | 6355 @end itemize |
6200 | 6356 |
6201 @item | |
6202 NT Emacs | |
6203 | |
6204 @itemize @minus | |
6205 | |
6206 @item | |
6207 NT Emacs is a version of GNU Emacs modified to compile and run under | |
6208 MS MS Windows 95 and NT using the native Win32 API. As such, it is close | |
6209 in spirit to the XEmacs "native" port. | |
6210 | |
6211 @item | |
6212 NT Emacs has been written by Geoff Voelker, and more information can be | |
6213 found at | |
6214 @iftex | |
6215 @* | |
6216 @end iftex | |
6217 @uref{http://www.cs.washington.edu/homes/voelker/ntemacs.html}. | |
6218 | |
6219 @end itemize | |
6220 | |
6221 @item | |
6222 XEmacs | |
6223 | |
6224 @itemize @minus | |
6225 | |
6226 @item | |
6227 Beginning with XEmacs 19.12, XEmacs' architecture has been redesigned | |
6228 in such a way to allow clean support of multiple window systems. At | |
6229 this time the TTY support was added, making X and TTY the first two | |
6230 "window systems" XEmacs supported. The 19.12 design is the basis for | |
6231 the current native MS Windows code. | |
6232 | |
6233 @item | |
6234 Some time during 1997, David Hobley (soon joined by Marc Paquette) | |
6235 imported some of the NT-specific portions of GNU Emacs, making XEmacs | |
6236 with X support compile under Windows NT, and creating the "X" port. | |
6237 | |
6238 @item | |
6239 Several months later, Jonathan Harris sent out initial patches to use | |
6240 the Win32 API, thus creating the native port. Since then, various | |
6241 people have contributed, including Kirill M. Katsnelson (contributed | |
6242 support for menubars, subprocesses and network, as well as loads of | |
6243 other code), Andy Piper (ported XEmacs to Cygwin environment, | |
6244 contributed Windows unexec, Windows-specific glyphs and toolbars code, | |
6245 and more), Jeff Sparkes (contributed scrollbars support) and many | |
6246 others. | |
6247 | |
6248 @end itemize | |
6249 | |
6250 @end itemize | 6357 @end itemize |
6251 | 6358 |
6252 | 6359 |
6253 @node Q6.3.3, Q6.4.1, Q6.3.2, MS Windows | 6360 @node Q6.3.3, Q6.4.1, Q6.3.2, MS Windows |
6254 @unnumberedsubsec Q6.3.3: What is the porting team doing at the moment? | 6361 @unnumberedsubsec Q6.3.3: What is the porting team doing at the moment? |
6255 | 6362 |
6256 (as of March 2001) | 6363 (as of June 2001) |
6257 | 6364 |
6258 The porting team is continuing work on the MS Windows-specific code. | 6365 The porting team is continuing work on the MS Windows-specific code. |
6259 Major projects are the development of Mule (internationalization) | 6366 Major projects are the development of Mule (internationalization) |
6260 support for Windows and the improvement of the widget support (better | 6367 support for Windows and the improvement of the widget support (better |
6261 support for dialog boxes, buttons, edit fields, and similar UI | 6368 support for dialog boxes, buttons, edit fields, and similar UI |
6262 elements). | 6369 elements). |
6263 | 6370 |
6371 | |
6264 @node Q6.4.1, ,Q6.3.3, MS Windows | 6372 @node Q6.4.1, ,Q6.3.3, MS Windows |
6265 @unnumberedsec 6.3: Troubleshooting | 6373 @unnumberedsec 6.3: Troubleshooting |
6266 @unnumberedsubsec Q6.4.1 XEmacs won't start on Windows. (NEW) | 6374 @unnumberedsubsec Q6.4.1 XEmacs won't start on Windows. (NEW) |
6267 | 6375 |
6268 XEmacs relies on a process called "dumping" to generate a working | 6376 XEmacs relies on a process called "dumping" to generate a working |
6269 executable. Under MS-Windows this process effectively fixes the memory | 6377 executable. Under MS-Windows this process effectively fixes the memory |
6270 addresses of information in the executable. When XEmacs starts up it tries | 6378 addresses of information in the executable. When XEmacs starts up it tries |
6271 to reserve these memory addresses so that the dumping process can be | 6379 to reserve these memory addresses so that the dumping process can be |
6272 reversed - putting the information back at the correct addresses. | 6380 reversed -- putting the information back at the correct addresses. |
6273 Unfortunately some .dlls (For instance the soundblaster driver) occupy | 6381 Unfortunately some .DLLs (for instance the soundblaster driver) occupy |
6274 memory addresses that can conflict with those needed by the dumped XEmacs | 6382 memory addresses that can conflict with those needed by the dumped XEmacs |
6275 executable. In this instance XEmacs will fail to start without any | 6383 executable. In this instance XEmacs will fail to start without any |
6276 explanation. Note that this is extremely machine specific. | 6384 explanation. Note that this is extremely machine specific. |
6277 | 6385 |
6278 21.1.10 includes a fix for this that makes more intelligent guesses | 6386 21.1.10 includes a fix for this that makes more intelligent guesses |
6279 about which memory addresses will be free, and this should cure the | 6387 about which memory addresses will be free, and this should cure the |
6280 problem for most people. Unfortunately, no binary is yet available for | 6388 problem for most people. 21.4 implements "portable dumping", which |
6281 this version. Check back periodically at | 6389 eliminates the problem altogether. We recommend you use the 21.4 |
6282 | 6390 binaries, but you can use the 21.1 binaries if you are very paranoid |
6283 @uref{ftp://ftp.xemacs.org/pub/xemacs/binaries/}. | 6391 about stability. @xref{Q6.0.3}. |
6284 | |
6285 21.2 implements "portable dumping" which will eliminate the problem | |
6286 altogether. You might have better luck with the 21.2 beta binary, | |
6287 available at | |
6288 | |
6289 @uref{ftp://ftp.xemacs.org/pub/xemacs/beta/binaries/}. | |
6290 | 6392 |
6291 | 6393 |
6292 @node Current Events, , MS Windows, Top | 6394 @node Current Events, , MS Windows, Top |
6293 @unnumbered 7 What the Future Holds | 6395 @unnumbered 7 What the Future Holds |
6294 | 6396 |