comparison man/xemacs-faq.texi @ 1135:9eddcb9548e2

[xemacs-hg @ 2002-12-02 17:56:58 by stephent] texinfo improvements <87d6okxq4i.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Mon, 02 Dec 2002 17:57:09 +0000
parents d7285d54aa5f
children 05ed51332340
comparison
equal deleted inserted replaced
1134:dd61dd14b2a4 1135:9eddcb9548e2
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: 2002/10/18 05:43:35 $ 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/12/02 17:56:58 $
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>
792 @html 792 @html
793 <br><img src="mrb.jpeg" alt="Portrait of Martin Buchholz"><br> 793 <br><img src="mrb.jpeg" alt="Portrait of Martin Buchholz"><br>
794 @end html 794 @end html
795 795
796 796
797 @item @email{turnbull@@sk.tsukuba.ac.jp, Steven Turnbull} 797 @item @email{stephen@@xemacs.org, Stephen Turnbull}
798 798
799 799
800 @item @email{ben@@xemacs.org, Ben Wing} 800 @item @email{ben@@xemacs.org, Ben Wing}
801 @html 801 @html
802 <br><img src="wing.gif" alt="Portrait of Ben Wing"><br> 802 <br><img src="wing.gif" alt="Portrait of Ben Wing"><br>
910 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction 910 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction
911 @unnumberedsec 1.3: Internationalization 911 @unnumberedsec 1.3: Internationalization
912 @unnumberedsubsec Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support? 912 @unnumberedsubsec Q1.3.1: What is the status of internationalization support aka MULE (including Asian language support?
913 913
914 Both the stable and development versions of XEmacs include 914 Both the stable and development versions of XEmacs include
915 internationalization support (aka MULE). MULE currently works on UNIX 915 internationalization support (aka MULE). MULE currently (21.4) works on
916 and Linux systems; work for supporting MULE on Windows operating systems 916 UNIX and Linux systems. It is possible to build with MULE on Windows
917 is in progress. Binaries compiled without MULE support run faster than 917 systems, but if you really need MULE on Windows, it is recommended that
918 MULE capable XEmacsen. 918 you build and use the development (21.5) version, and deal with the
919 instability of the development tree. Binaries compiled without MULE
920 support run faster than MULE capable XEmacsen.
919 921
920 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction 922 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
921 @unnumberedsubsec Q1.3.2: How can I help with internationalization? 923 @unnumberedsubsec Q1.3.2: How can I help with internationalization?
922 924
923 If you would like to help, you may want to join the 925 If you would like to help, you may want to join the
924 @email{xemacs-mule@@xemacs.org} mailing list. Especially needed are 926 @email{xemacs-mule@@xemacs.org} mailing list. Especially needed are
925 people who speak/write languages other than English, who are willing to 927 people who speak/write languages other than English, who are willing to
926 use XEmacs/MULE regularly, and have some experience with Elisp. 928 use XEmacs/MULE regularly, and have some experience with Elisp.
927 929
930 Translations of the TUTORIAL and man page are welcome, and XEmacs does
931 support multilingual menus, but we have few current translations.
932
928 @xref{Q1.1.2}. 933 @xref{Q1.1.2}.
929 934
930 @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction 935 @node Q1.3.3, Q1.3.4, Q1.3.2, Introduction
931 @unnumberedsubsec Q1.3.3: How do I type non-ASCII characters? 936 @unnumberedsubsec Q1.3.3: How do I type non-ASCII characters?
932 937
933 See question 3.5.7 (@pxref{Q3.5.7}) in part 3 of this FAQ. 938 See question 3.5.7 (@pxref{Q3.5.7}) in part 3 of this FAQ for some
939 simple methods that also work in non-MULE builds of XEmacs (but only for
940 one-octet coded character sets, and mostly for ISO 8859/1). Many of the
941 methods available for Cyrillic (@pxref{Q1.3.7}) work without MULE.
942 MULE has more general capabilities. @xref{Q1.3.5}.
943
944 @xref{Q3.2.7}, which covers display of non-ASCII characters.
934 945
935 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction 946 @node Q1.3.4, Q1.3.5, Q1.3.3, Introduction
936 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language? 947 @unnumberedsubsec Q1.3.4: Can XEmacs messages come out in a different language?
937 948
938 The message-catalog support has mostly been written but doesn't 949 The message-catalog support was written but is badly bit-rotted. XEmacs
939 currently work. The first release of XEmacs 20 will @emph{not} support 950 20 and 21 did @emph{not} support it, and early releases of XEmacs 22
940 it. However, menubar localization @emph{does} work. To 951 will not either.
941 enable it, add to your @file{Emacs} file entries like this: 952
953 However, menubar localization @emph{does} work. To enable it, add to
954 your @file{Emacs} file entries like this:
942 955
943 @example 956 @example
944 Emacs*XlwMenu.resourceLabels: True 957 Emacs*XlwMenu.resourceLabels: True
945 Emacs*XlwMenu.file.labelString: Fichier 958 Emacs*XlwMenu.file.labelString: Fichier
946 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen 959 Emacs*XlwMenu.openInOtherWindow.labelString: In anderem Fenster oeffnen
950 removing punctuation and capitalizing as above. 963 removing punctuation and capitalizing as above.
951 964
952 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction 965 @node Q1.3.5, Q1.3.6, Q1.3.4, Introduction
953 @unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs 966 @unnumberedsubsec Q1.3.5: Please explain the various input methods in MULE/XEmacs
954 967
955 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: 968 Mule supports a wide variety of input methods. There are three basic
956 969 classes: Lisp implementations, generic platform support, and library
957 @quotation 970 interfaces.
958 Original Mule supports the following input methods: Wnn4, Wnn6, Canna, SJ3 971
959 and XIM. Interfaces for Wnn and SJ3 uses the @code{egg} user 972 @emph{Lisp implementations} include Quail, which provides table-driven input
960 interface. Interface for Canna does not use @samp{egg}. I don't know 973 methods for almost all the character sets that Mule supports (including
961 about XIM. It is to support ATOK, of course, it may work for another 974 all of the ISO 8859 family, the Indic languages, Thai, and so on), and
962 servers. 975 SKK, for Japanese. (SKK also supports an interface to an external
976 "dictionary server" process.) Quail supports both typical "dead-key"
977 methods (eg, in the "latin-1-prefix" method, @kbd{" a} produces ä, LATIN
978 SMALL LETTER A WITH DIAERESIS), and the complex dictionary-based phonetic
979 methods used for Asian ideographic languages like Chinese.
980
981 Lisp implementations can be less powerful (but they are not perceptibly
982 inefficient), and of course are not portable to non-Emacs applications.
983 The incompatibility can be very annoying. On the other hand, they
984 require no special platform support or external libraries, so if you can
985 display the characters, Mule can input them for you and you can edit,
986 anywhere.
987
988 @emph{Generic platform support} is currently limited to the X Input
989 Method (XIM) framework, although support for MSIME (for MS Windows) is
990 planned, and IIIMF (Sun's Internet-Intranet Input Method Framework)
991 support is extremely desirable. XIM is enabled at build time by use of
992 the @samp{--with-xim} flag to @code{configure}. For use of XIM, see
993 your platform documentation. However, normally the input method you use
994 is specified via the @samp{LANG} and @samp{XMODIFIERS} environment
995 variables.
996
997 Of course, input skills are portable across most applications. However,
998 especially in modern GUI systems the habit of using bucky bits has
999 fallen into sad disuse, and many XIM systems are poorly configured for
1000 use with Emacs. For example, the kinput2 input manager (a separate
1001 process providing an interface between Japanese dictionary servers such
1002 as Canna and Wnn, and the application) tends to gobble up keystrokes
1003 generating Meta characters. This means that to edit while using an XIM
1004 input method, you must toggle the input method off every time you want
1005 to use @kbd{M-f}. Your mileage may vary.
1006
1007 @emph{Library interfaces} are most common for Japanese, although Wnn
1008 supports Chinese (traditional and simplified) and Korean. There are
1009 Chinese and Korean input servers available, but we do not know of any
1010 patches for XEmacs to use them directly. You can use them via
1011 IM-enabled terminals, by manipulating the terminal coding systems. We
1012 describe only the Japanese-oriented systems here. The advantage of
1013 these systems is that they are very powerful, and on platforms where
1014 they are available there is typically a wide range of applications that
1015 support them. Thus your input skills are portable across applications.
1016
1017 Mule provides built-in interfaces to the following input methods: Wnn4,
1018 Wnn6, Canna, and SJ3. These can be configured at build time. There are
1019 patches available (no URL, sorry) to support the SKK server, as well.
1020 Wnn and SJ3 use the @code{egg} user interface. The interface for Canna
1021 is specialized to Canna.
963 1022
964 Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto 1023 Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
965 university. It is a powerful and complex system. Wnn4 is free and Wnn6 1024 University. It is a powerful and complex system. Wnn4 is free and Wnn6
966 is not free. 1025 is not. Wnn uses grammatical hints and probability of word association,
967 1026 so in principle Wnn can be cleverer than other methods.
968 Canna supports only Japanese. It is made by NEC. It is a simple and 1027
969 powerful system. Canna uses only grammar (Wnn uses grammar and 1028 Canna, made by NEC, supports only Japanese. It is a simple and powerful
970 probability between words), so I think Wnn is cleverer than Canna, 1029 system. Canna uses only grammar, but its grammar and dictionary are
971 however Canna users made a good grammar and dictionary. So for standard 1030 quite sophisticated. So for standard modern Japanese, Canna seems
972 modern Japanese, Canna seems cleverer than Wnn4. In addition, the UNIX 1031 cleverer than Wnn4. In addition, the UNIX version of Canna is free (now
973 version of Canna is free (now there is a Microsoft Windows version). 1032 there is a Microsoft Windows version).
974 1033
975 SJ3 supports only Japanese. It is made by Sony. XIM supports was made 1034 SJ3, by Sony, supports only Japanese.
976 to use ATOK (a major input method in personal computer world). XIM is
977 the standard for accessing input methods bundled in Japanese versions of
978 Solaris. (XEmacs 20 will support XIM input).
979 1035
980 Egg consists of following parts: 1036 Egg consists of following parts:
981 1037
982 @enumerate 1038 @enumerate
983 @item 1039 @item
984 Input character Translation System (ITS) layer. 1040 Input character Translation System (ITS) layer.
985 It translates ASCII inputs to Kana/PinYin/Hangul characters. 1041 It translates ASCII inputs to Kana/PinYin/Hangul characters.
986 1042
987 @item 1043 @item
988 Kana/PinYin/Hangul to Kanji transfer layer. 1044 Kana/PinYin/Hangul to Kanji transfer layer.
989 It is interface layer for network Kana-Kanji server (Wnn and Sj3). 1045 The interface layer to network Kana-Kanji server (Wnn and Sj3).
990 @end enumerate 1046 @end enumerate
991 1047
992 These input methods are modal, namely there are mode, alphabet mode and 1048 These input methods are modal. They have a raw (alphabet) mode, a
993 Kana-Kanji transfer mode. However there are mode-less input methods for 1049 phonetic input mode, and Kana-Kanji transfer mode. However there are
994 Egg and Canna. @samp{Boiled-egg} is a mode-less input method running on 1050 mode-less input methods for Egg and Canna. @samp{boiled-egg} is a
995 Egg. For Canna, @samp{canna.el} has a tiny boiled-egg like command, 1051 mode-less input method running on Egg. For Canna, @samp{canna.el} has a
996 @code{(canna-boil)}, and there are some boiled-egg like utilities. In 1052 tiny boiled-egg-like command, @code{(canna-boil)}, and there are some
997 addition, it was planned to make an abstraction for all transfer type 1053 boiled-egg-like utilities.
998 input methods. However authors of input methods are busy, so maybe this 1054
999 plan is stopped. Perhaps after Mule merged GNU Emacs will be released, 1055 Much of this information was provided by @email{morioka@@jaist.ac.jp,
1000 it will be continued. 1056 MORIOKA Tomohiko}.
1001 @end quotation
1002 1057
1003 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction 1058 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
1004 @unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs? 1059 @unnumberedsubsec Q1.3.6: How do I portably code for MULE/XEmacs?
1005 1060
1061 MULE has evolved rapidly over the last few years, and the original third
1062 party patch (for GNU Emacs 19), GNU Emacs 20+, and XEmacs 20+ have quite
1063 different implementations. The APIs also vary although recent versions
1064 of XEmacs have tended to converge to the GNU Emacs standard.
1065
1066 MULE implementations are going to continue to evolve. Both GNU Emacs
1067 and XEmacs are working hard on Unicode support, which will involve new
1068 APIs and probably variations on old ones. For XEmacs 22, the old ISO
1069 2022-based system for recognizing encodings will be replaced by a much
1070 more flexible system, which should improve accuracy of automatic coding
1071 detections, but will also involve new APIs.
1072
1006 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes: 1073 @email{morioka@@jaist.ac.jp, MORIOKA Tomohiko} writes:
1007 1074
1008 @quotation 1075 @quotation
1009 MULE and XEmacs are quite different. So the application 1076 The application implementor must write separate code for these mule
1010 implementor must write separate code for these mule variants. 1077 variants. [Please don't hesitate to report these variants to us; they
1078 are not, strictly speaking, bugs, but they give third-party developers
1079 the same kind of creepy-crawly feeling. We'll do what we can. -- Ed.]
1011 1080
1012 MULE and the next version of Emacs are similar but the symbols are very 1081 MULE and the next version of Emacs are similar but the symbols are very
1013 different---requiring separate code as well. 1082 different---requiring separate code as well.
1014 1083
1015 Namely we must support 3 kinds of mule variants and 4 or 5 or 6 kinds of 1084 Namely we must support 3 kinds of mule variants and 4 or 5 or 6 kinds of
1016 emacs variants... (;_;) I'm shocked, so I wrote a wrapper package called 1085 emacs variants... (;_;) I'm shocked, so I wrote a wrapper package called
1017 @code{emu} to provide a common interface. 1086 @code{emu} to provide a common interface. [There is an XEmacs package
1087 of APEL which provides much more comprehensive coverage. Be careful,
1088 however; APEL has problems of its own. -- Ed.]
1018 1089
1019 I have the following suggestions about dealing with mule variants: 1090 I have the following suggestions about dealing with mule variants:
1020 1091
1021 @itemize @bullet 1092 @itemize @bullet
1022 @item 1093 @item
1506 site 1577 site
1507 @iftex 1578 @iftex
1508 @* 1579 @*
1509 @end iftex 1580 @end iftex
1510 @uref{ftp://ftp.xemacs.org/pub/xemacs/aux/}. 1581 @uref{ftp://ftp.xemacs.org/pub/xemacs/aux/}.
1582 [These tarballs and this FAQ are wa-a-ay out of date. Sorry, I'm not
1583 currently network-capable, and I will probably forgot to update this
1584 before submitting the patch. -- Ed.]
1511 1585
1512 @c Changed June Link above, <URL:ftp://ftp.xemacs.org/pub/aux/> was dead. 1586 @c Changed June Link above, <URL:ftp://ftp.xemacs.org/pub/aux/> was dead.
1513 @c This list is a pain in the you-know-what to keep in synch with the 1587 @c This list is a pain in the you-know-what to keep in synch with the
1514 @c world. 1588 @c world.
1515 The canonical locations (at the time of this writing) are as follows: 1589 The canonical locations (at the time of this writing) are as follows:
1777 you are using. 1851 you are using.
1778 1852
1779 @item 1853 @item
1780 If the problem happened on a tty, please include the terminal type. 1854 If the problem happened on a tty, please include the terminal type.
1781 @end enumerate 1855 @end enumerate
1856
1857 Much of the information above is automatically generated by @kbd{M-x
1858 report-emacs-bug}. Even more, and often useful, information can be
1859 generated by redirecting the output of @code{make} and @code{make check}
1860 to a file (@file{beta.err} is the default used by @code{build-report}),
1861 and executing @kbd{M-x build-report}.
1782 1862
1783 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation 1863 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation
1784 @unnumberedsubsec Q2.1.2: Cryptic Minibuffer messages. 1864 @unnumberedsubsec Q2.1.2: Cryptic Minibuffer messages.
1785 1865
1786 When I try to use some particular option of some particular package, I 1866 When I try to use some particular option of some particular package, I
2937 @lisp 3017 @lisp
2938 (if (eq 'tty (device-type)) 3018 (if (eq 'tty (device-type))
2939 (set-device-class nil 'color)) 3019 (set-device-class nil 'color))
2940 @end lisp 3020 @end lisp
2941 3021
2942 @node Q3.2.6, Q3.3.1, Q3.2.5, Customization 3022 @node Q3.2.6, Q3.2.7, Q3.2.5, Customization
2943 @unnumberedsubsec Q3.2.6: Can I have pixmap backgrounds in XEmacs? 3023 @unnumberedsubsec Q3.2.6: Can I have pixmap backgrounds in XEmacs?
2944 @c New 3024 @c New
2945 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes: 3025 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
2946 3026
2947 @quotation 3027 @quotation
2965 3045
2966 and so on. You can also do this interactively via @kbd{M-x edit-faces}. 3046 and so on. You can also do this interactively via @kbd{M-x edit-faces}.
2967 3047
2968 @end quotation 3048 @end quotation
2969 3049
2970 @node Q3.3.1, Q3.3.2, Q3.2.6, Customization 3050 @node Q3.2.7, Q3.3.1, Q3.2.6, Customization
3051 @unnumberedsubsec Q3.2.7: How do I display non-ASCII characters?
3052 @c New
3053
3054 If you're using a Mule-enabled XEmacs, then display is automatic. If
3055 you're not seeing the characters you expect, either (1) you don't have
3056 appropriate fonts available or (2) XEmacs did not correctly detect the
3057 coding system (@pxref{Recognize Coding, , , xemacs}). In case (1),
3058 install fonts as is customary for your platform. In case (2), you
3059 need to tell XEmacs explicitly what coding systems you're using.
3060 @ref{Specify Coding, , , xemacs}.
3061
3062 If your XEmacs is not Mule-enabled, and for some reason getting a
3063 Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
3064 You can arrange it by brute force. In @file{event-Xt.c} (suppress the
3065 urge to look in this file---play Doom instead, because you'll survive
3066 longer), it is written:
3067
3068 @quotation
3069 In a non-Mule world, a user can still have a multi-lingual editor, by
3070 doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
3071 their Latin-2 buffers, etc.
3072 @end quotation
3073
3074 For the related problem of @emph{inputting} non-ASCII characters in a
3075 non-Mule XEmacs, @xref{Q3.5.7}.
3076
3077 @node Q3.3.1, Q3.3.2, Q3.2.7, Customization
2971 @unnumberedsec 3.3: The Modeline 3078 @unnumberedsec 3.3: The Modeline
2972 @unnumberedsubsec Q3.3.1: How can I make the modeline go away? 3079 @unnumberedsubsec Q3.3.1: How can I make the modeline go away?
2973 3080
2974 @lisp 3081 @lisp
2975 (set-specifier has-modeline-p nil) 3082 (set-specifier has-modeline-p nil)
3323 @end example 3430 @end example
3324 etc. 3431 etc.
3325 3432
3326 Running @samp{xmodmap -pk} will list all of the defined keysyms. 3433 Running @samp{xmodmap -pk} will list all of the defined keysyms.
3327 @end quotation 3434 @end quotation
3435
3436 For the related problem of @emph{displaying} non-ASCII characters in a
3437 non-Mule XEmacs, @xref{Q3.2.7}.
3328 3438
3329 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization 3439 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization
3330 @unnumberedsubsec Q3.5.8: [This question intentionally left blank] 3440 @unnumberedsubsec Q3.5.8: [This question intentionally left blank]
3331 3441
3332 Obsolete question, left blank to avoid renumbering. 3442 Obsolete question, left blank to avoid renumbering.