Mercurial > hg > xemacs-beta
view etc/mule/FAQ-Mule @ 161:28f395d8dc7a r20-3b7
Import from CVS: tag r20-3b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:42:26 +0200 |
parents | 131b0175ea99 |
children |
line wrap: on
line source
-*- Indented-Text -*- Frequently Asked Questions and Answers for Mule. 1994/8/30 ---------------------------------------------------------------------- This FAQ list was made to summarise some frequently asked questions and their answers in a convenient form. The structure of this FAQ list has drastically changed since the last version. For the detail of the new structure, see the entry of `How to read this FAQ and its structure'. We believe that the contents are fairly correct, but please let us know if you find any mistakes. New information is always welcome. To get the latest FAQ, see A-12. Many people gave us advice in making this list. We would like to thank those who have contributed. -- Takahiro Maebashi <maebashi@mcs.meitetsu.co.jp> (translated by TAKAHASHI Naoto <ntakahas@etl.go.jp>) ---------------------------------------------------------------------- WARNING!! This FAQ list contains Japanese, Chinese and Latin-1 characters. If you read this list on a terminal which is not capable of displaying those characters, your terminal might be set in a strange state. ---------------------------------------------------------------------- If you are viewing this text in a Mule Buffer, you can type "M-2 C-x $" to get an overview of just the questions. Then, when you want to look at the text of the answers, just type "C-x $". To search for a question numbered X-XX, type "M-C-s ^X-XX:", followed by a C-r if that doesn't work, then type ESC to end the search. This Mule FAQ is divided into two parts: Part 1: Questions common to all languages Part 2: Questions specific to each language Each part consists of several sections. Questions in Part 1 are grouped by their fields, and questions in Part 2 are grouped by languages. You may find almost the same questions in different sections, but this is for the convenience of readers. ---------------------------------------------------------------------- FAQ Part 1: Questions common to all languages GENERAL QUESTIONS A-1: What is Mule? Mule is a multi-lingual enhancement of GNU Emacs. Mule Ver.1 was based on GNU Emacs Ver.18 and Mule Ver.2 is based on GNU Emacs Ver.19. Mule Ver.1 will not be supported anymore. Mule has the following features: * It can handle not only ASCII characters (7 bit) and ISO Latin-1 characters (8 bit), but also 16 bit characters like Japanese, Chinese, and Korean. Furthermore Mule can have a mixture of languages in a single buffer. * You can set different coding systems for file input/output, keyboard input, and inter-process communication. * When not in the multi-lingual mode, it behaves almost exactly like GNU Emacs. A-2: How can I get Mule? Mule is available via anonymous FTP from: etlport.etl.go.jp [192.31.197.99]: /pub/mule ftp.mei.co.jp [132.182.49.2]: /public/free/gnu/emacs/Mule ftp.iij.ad.jp [192.244.176.50]: /pub/misc/mule sh.wide.ad.jp [133.4.11.11]: /JAPAN/mule ftp.funet.fi [128.214.6.100]: /pub/gnu/emacs/mule Please use one of the last three sites unless you are in Japan. It should be better to use ftp.funet.fi for European sites. Both the complete tar file of Mule (mule-2.0.tar.gz) and the diff file to GNU Emacs 19.25 (diff-19.25-2.0.gz) are available. Please take the diff file if you already have GNU Emacs. If you find patch files there (patch-2.0-*.gz), get them too and apply the patches. Various fonts and ELISP libraries are also available from the same sites. See $MULE/README.Mule for further details. A-3: What is the latest version of Mule? The current version is 2.2 (WAKAMURASAKI), and is based on GNU Emacs 19.28. A-4: Will Mule be integrated into GNU Emacs in the future? We have just started the work of merging Mule to GNU Emacs. A-5: Are there any plans to introduce the features of Mule to Epoch (or Nepoch)? Mule Ver.2 (actually GNU Emacs 19) can make a independent frame for each buffer, and can draw coloured strings. A-6: Are there any plans to introduce the features of Mule to Demacs? Mule Ver.1.x contains Demacs. Read the install manual "INSTALL.dos". A-7: What are the advantages of using Mule Ver.2 instead of Mule Ver.1? To summarise, it is possible to use the new features added to GNU Emacs 19. There are so many new features and we cannot list them here, but the multi-frame functions a la Epoch and face functions (see F-5 below) are examples. A-8: Are there any mailing lists for Mule? There are two lists for discussion in English: mule@etl.go.jp Main language is English. mule-vn@etl.go.jp To discuss handling of Vietnamese. Main language is English. The following is for various pre-release tests: mule-jp@etl.go.jp Main language is Japanese. To discuss general topics in Japanese, please use the newsgroup fj.editor.mule. If you want to join these lists, contact the address mule-request@etl.go.jp. Note that mule-jp-request does not exist. A-9: Where should I send bug-reports of Mule? If you write bug-reports and/or propositions for improvement in Japanese, post them to fj.editor.mule. If you do not have access to this newsgroup, send them to mule@etl.go.jp in English. A-10: Does Mule have manuals written in Japanese/English/Chinese/ Korean/etc.? There are five kinds of manuals: * on-line manual, * texinfo manual, * FAQ, * tutorial, and * various documents under the "doc" directory. The current version of Mule is 2.0, but some manuals have not been rewritten since Ver.1 (sorry). * on-line manual An on-line manual written in English is included. Usually you can read it with the man command. If your sys-admin did not make it readable, you will have to copy $MULE/etc/mule.1 to your man directory. * texinfo manual A texinfo manual, which explains the functions and terminology of Mule, is also available. You will find the source in texinfo format under $MULE/man and the formatted text under $MULE/info. * FAQ This is what you are reading now. The following versions are available in $MULE/etc: FAQ-Mule English version FAQ-Mule.jp Japanese version FAQ-Mule.kr Korean version FAQ-Mule.cn Chinese version * tutorial The tutorial is available in Japanese and Korean. When you type C-h T (M-x help-with-tutorial-for-mule), Mule asks you in what language you want the tutorial. (Hitting space bar shows the list of available languages.) * documents under the `doc' directory There are some sample texts and documentation of functions of Mule in $MULE/doc. Most of the documents that were there in Ver.1 have been texinfonised. $MULE/doc/viet contains documents written in Vietnamese. A-11: What does the name "Mule" stand for? Quoted from UNIX dictionary :-) [Mule] (UNIX command) [mju:l] Stands for "MUlti-Lingual Enhancement to GNU Emacs". Corresponding to the animal series of GNU, and also to the convention of giving an antonym to its name, like gawk. (cf. Demacs, Emacs, gawk, Nemacs) Hironobu SUZUKI <hironobu@sra.co.jp> first suggested this name. A-12: Where can I get the latest Mule FAQ list? There are four versions of Mule FAQ, i.e. in English, in Japanese, in Korean and in Chinese. In the distribution set, they are named: FAQ-Mule English version FAQ-Mule.jp Japanese version FAQ-Mule.kr Korean version FAQ-Mule.cn Chinese version. The original is the Japanese version. The others are translations and may or may not be slightly obsolete. You can get Mule FAQ from: * network news. Mule FAQ is posted to fj.editor.mule at irregular intervals. * anonymous FTP sites. It is available via anonymous FTP from the following sites. etlport.etl.go.jp: /pub/mule/READMEDIR sh.wide.ad.jp: /JAPAN/mule/READMEDIR * the distribution set of Mule. Each distribution set contains the latest FAQ (at that time) as etc/FAQ-Mule{,.jp,.kr}. A-13: What functions are not implemented in Mule 2.0? The following functions are not available in Mule 2.0. Wait for the next version: o Multi-lingual version of lisp/picture.el and lisp/rect.el o Multi-lingual version of XMENU o Displaying on Sun console BUILDING AND INSTALLING B-1: What options does configure accept? You can get the list by `configure --help'. B-2: How can I build Mule for X Window System under SunOS 4.1.x? To make Mule under SunOS 4.1.x, static linking is necessary. If there are no libraries for static linking, you have to create libX11.a by adding #define ForceNormalLib YES to the site.def file when you build X. B-3: How can I use Wnn or Canna in Mule? Specify --wnn or --canna to configure. If the libraries are not in the standard directories, you may need to specify --wnn-include=XXXX, too. B-4: During the building of Mule, a message "Pure Lisp storage exhausted" was displayed, and the compilation stopped. Ken'ichi HANDA <handa@etl.go.jp> writes: This happens when the value of PURESIZE in puresize.h is too small. Some systems seem to require a larger value. Loading many language specific files (e.g. japanese.el, chinese.el) in site-init.el requires a larger value, too. First, try again with the value doubled. If that works, you can adjust PURESIZE to a value a little greater than the value displayed in the message "Pre Bytes Used XXXXX" (which is displayed when temacs has loaded mule-init.el). After that you have to remake Mule with this adjusted PURESIZE value. B-5: When I was building Mule the compilation stopped with a message saying "Undefined Symbol: __des_crypt". What can I do? Masato Minda <minmin@astec.co.jp> writes: I think this happens when you use static link under SunOS with JLE1.1.1. Solutions: Apply the patch(es) for JLE (I forgot the patch ID). Use JLE1.1.1 rev B or later. Throw away JLE :-) I think making an empty _des_crypt function and linking it together might work, though I've never tried it. B-6: Why does Mule, which is compiled with GCC, add a ^M at the end of each line in shell mode? Ishikawa Ichiro <ichiro@ccsr.u-tokyo.ac.jp> writes: I have had the same problem in Emacs 19. (At that time Mule did not work at all if compiled with gcc.) The cause was incomplete installation of gcc. (I used the JLE version of sed.) Sed in JLE has bug and cannot install the header files (fixincludes) well. Use sed of GNU instead. B-7: I succeeded in compiling Mule, but I cannot input any language except English. If you want to use foreign languages in Mule, you have to load the language specific files by specifying them in the site-init.el file. By default there is no site-init.el file, and this means that you can input only English. If you want to use Japanese and Chinese, include the following lines in the lisp/site-init.el file when you build Mule: (load "japanese") (load "chinese") When the necessary files have not been loaded, you can load them by hand, for example, as follows: M-x load-library RET japanese RET The lastly loaded language will be the default. To change this, execute M-x its:select-mode to specify the mode. Completion of the mode name is available. Loading too many language specific files may cause the "Pure Lisp storage exhausted" error during the compile. In this case, refer B-4. B-8: I want to save the result of configure to compile on other machines. Rename config.status to save the result. Or, you can compile the source in a different directory. B-9: I configured on the first machine. Then I configured on the second machine. I want to make it on the first machine again. Do I have to rerun configure? No. All you have to do is executing the previously saved config.status file. B-10: How can I compile in a directory other than the source directory? Specify the --srcdir=(_the_name_of_source_directory_) option to configure. In this case, if you have ever run configure in the source directory, you must execute `make clean' first in that directory. B-11: I have to rerun configure for some reason. Do I have to type all command line options again? No. All you have to do is `./config.status --recheck'. As `config.status' is a sh script, you can edit this file directly to modify the arguments. You can also give the argument to configure by using the cut & past function of terminal emulator. B-12: I tried to run configure, but the options are not recognised at all. Are you using the JLE OS on Sun? It seems that JLE has problems because of bugs and differences of features in the commands and libraries. They say that the installation of GCC may fail under JLE. In the current situation, `tr - _' does not work well. The workaround is to change `tr - _' in configure to `tr \- _', or, if you are using csh, execute setenv LANG C or unsetenv LANG B-13: Making Mule under Solaris2 + X11R6 dumps core. Mule 2.0 and GNU Emacs 19.25 cannot cope with multi-threading. This means that you have to either: 1) include #define ThreadedX NO in site.def when you build X11R6. The resulting X11R6 does not cope with multi-thread. or 2) link with libX11.a, not with libX11so.6. Then it will not be linked with libthread.so.1, either. HANDLING FOREIGN LANGUAGES C-1: What languages are supported in Mule? Except from $MULE/README.Mule: 0. English Just type it. :-) 1. Japanese We strongly recommend you to install Wnn4.108 or later. (Some machine requires Wnn4.109p1, not Wnn4.108.) The `TAMAGO (EGG)' system, which is bundled to Mule, communicates with Wnn's jserver to provide a very convenient Japanese input method. For the usage of `TAMAGO', see $MULE/info/egg. Mule runs as a client of the X Window System, or runs under a Japanese terminal (including terminal emulators like kterm and exterm). In the latter case, you can use the Japanese input system that is provided by the terminal. Other input systems are: * sj3-egg, CANNA bundled with Mule * SKK, boiled-egg included in the contrib directory 2. Chinese We strongly recommend you to install Wnn4.108 or later. (Some machines require Wnn4.109p1, not Wnn4.108.) The `TAMAGO (EGG)' system, which is bundled to Mule, communicates with cWnn's cserver to provide a very convenient Chinese (GB) input method. For the usage of `TAMAGO', see $MULE/info/egg. Mule runs as a client of the X Window System, or runs under a Chinese terminal (including terminal emulators like cxterm and exterm). In the latter case, you can use the Chinese input system that is provided by the terminal. Furthermore, the QUAIL system (bundled to Mule) provides the following input methods: GB: PINYIN, PINYIN_with_TONE, CCDOSPY, SW Big5: PINYIN, ETZY, ZOZY For the usage of this system, see $MULE/info/quail. Readers of alt.chinese.text or alt.chinese.text.big5 will find it very convenient to use GNUS (a newsreader written in emacs lisp) with gnusutil.el (bundled to Mule Ver.2). The program gnusutil automatically converts Hz/zW encoding and BIG5 from/to the internal code of Mule. 3. Korean For hangul input, quail/hangul.el is provided. See `info/quail' for the usage. Mule runs as a client of the X Window System, or runs under a hangul terminal (including terminal emulators like exterm). 4. European languages The QUAIL system provides many input methods for European languages. Currently supported characters are: Latin1, Latin2,.. Latin5, Greek (ISO8859-7), Hebrew (ISO8859-8), Cyrillic (ISO8859-5). See `$MULE/info/quail' for the usage. Languages that write from right to left (Hebrew, for example) are supported, too. See `$MULE/info/R2L'. 5. Thai Thai is supported based on the TIS620 character set. The QUAIL system (bundled to Mule) provides a Thai input method, too. See `$MULE/info/quail' for the usage. The name of the quail package for Thai is `thai'. A free font (12x29 pixels) is included in the `fonts/ETL.tar.gz' file. You should widen Mule's line spaces with `-lsp 5+' option if you use this font with a 12x24 ASCII font. 6. Vietnamese Vietnamese support is based on the two-table-VISCII method, which divides the code table of VISCII into upper and lower case. Mule can read and write VISCII, VIQR and VSCII. Use the QUAIL system (bundled to Mule) for Vietnamese input. See `$MULE/info/quail' for the usage of this system. The name of the quail package for Vietnamese is `viet'. You can use both VISCII font and VSCII font under the X Window System. A free VISCII font is included in `fonts/ETL.tar.gz', too. It was designed to be used with the other ETL fonts. C-2: Some languages are written from right to left. Does Mule support such languages? Hebrew and Arabic are supported in this version. quail/hebrew.el can be used to input Hebrew texts. See also the documents of highlight-reverse-direction, r2l-double-cursor, etc. We are also planning to support Persian, etc. in the future. C-3: What kinds of coding systems are related to Mule? And when are they used? Mule supports the following coding systems: * the internal code used in Mule's buffers. * MS kanji code or SHIFT-JIS (Japanese only) * a subset of ISO 2022 (including JIS [JUNET], EUC, CTEXT) * Big5 (Chinese only) You can specify any combination of these coding systems for file input/output, key input, screen display, and interprocess communication. C-4: Why does the buffer size displayed in *Buffer List* differ so much from the actual file size? Mule allocates a unique "leading character" to each coding system. The internal representation of a character other than an ASCII character begins with a leading character. Therefore inside of Mule, 8 bit characters like Latin-1 are represented in 2 bytes, and 16 bit characters like kanji are represented in 3 bytes. When you save the contents of a buffer with the internal representation, the size of the buffer and the file will be the same. If another encoding is used for file output, they will be different. C-5: I set (setq keyboard-coding-system *euc-japan*), but it does not work. Do not use `setq' to bind a value to `keyboard-coding-system'. Use the function `set-keyboard-coding-system' instead. This comment also applies to `display-coding-system', `file-coding-system', etc. C-6: Why doesn't `set-keyboard-coding-system' accept *autoconv*, *big5-hku*, *big5-eten* and *internal*? This is a feature. C-7: I want to use EUC for displaying Japanese, Chinese, Korean, EC, etc. simultaneously. This is impossible, because EUC for each language is the same coding system. Use *junet* or *ctext* to display multi-lingual texts. C-8: Where can I find documentation for the coding system used in Mule? The coding system is ISO 2022 (or JIS X0202 in the case of JIS). You will find a brief explanation in the texinfo manuals and in `$MULE/info/ISO2022'. C-9: How can I input characters other than ASCII in isearch? Load `isearch-ext.el' first, then you will be able to input characters other than ASCII in isearch (incremental search). You can invoke `TAMAGO' with `C-\' and `quail' with `C-]' to input foreign languages. C-10: Where can I get various fonts for various languages? You can get them via anonymous FTP from the following sites: etlport.etl.go.jp: /pub/mule/fonts sh.wide.ad.jp: /JAPAN/mule/fonts You will find the following fonts there: ./Chinese/ or Chinese.tar.gz gb16fs.bdf -- 16x16 pixels GB font gb24st.bdf -- 24x24 pixels GB font taipei16.bdf -- 16x16 pixels BIG5 (ETen) font taipei24.bdf -- 24x24 pixels BIG5 (ETen) font ./Japanese/ or Japanese.tar.gz k14.bdf -- 14x14 pixels JISX0208.1983 font k16.bdf -- 16x16 pixels JISX0208.1990 font jiskan16.bdf -- 16x16 pixels JISX0208.1983 font jiskan24.bdf -- 24x24 pixels JISX0208.1983 font min-1-16.bdf -- 16x16 pixels JISX0212.1990 (HojoKanji) font min-1-24.bdf -- 24x24 pixels JISX0212.1990 (HojoKanji) font 8x16rk.bdf -- 8x16 pixels JISX0201.1976 (Kana) font 12x24rk.bdf -- 12x24 pixels JISX0201.1976 (Kana) font ./Korean/ or Korean.tar.gz hanglm16.bdf -- 16x16 pixels KSC5601.1987 font hanglm24.bdf -- 24x24 pixels KSC5601.1987 font ./ETL/ or ETL.tar.gz etl{14,16,24}-latin1.bdf -- ISO8859-1 (Latin-1) font etl{14,16,24}-latin2.bdf -- ISO8859-2 (Latin-2) font etl{14,16,24}-latin3.bdf -- ISO8859-3 (Latin-3) font etl{14,16,24}-latin4.bdf -- ISO8859-4 (Latin-4) font etl{14,16,24}-cyrillic.bdf -- ISO8859-5 (Cyrillic) font etl{14,16,24}-greek.bdf -- ISO8859-7 (Greek) font etl{14,16,24}-hebrew.bdf -- ISO8859-8 (Hebrew) font etl{14,16,24}-latin5.bdf -- ISO8859-9 (Latin-5) font etl{14,16,24}-swedish.bdf -- SEN850200 (Swedish) font etl{14,16,24}-ipa.bdf -- IPA font etl{14,16,24}-sisheng.bdf -- SiSheng (Chinese Radical) font etl{16,24}-viscii.bdf -- VISCII 1.1 (Vietnamese) font etl{14,24}-koi.bdf -- KOI (Cyrillic) font etl{16,24}-arabic{0,1,2}.bdf -- Arabic font etl24-thai.bdf -- TIS620 (Thai) font X11R6 also contains most of the JIS, KSC, GB fonts. Besides the above Japanese.tar.gz, another JISX0212.1990 font was posted to fj.sources: From: yasuoka@kudpc.kyoto-u.ac.jp (Koichi Yasuoka) Newsgroups: fj.sources Subject: 16x16 JIS Supplementary Kanji Font (1/6) Date: 28 Jul 1994 00:06:12 +0900 Organization: Data Processing Center, Kyoto University, Kyoto, Japan. Message-ID: <315t54$et5@kudpc.kudpc.kyoto-u.ac.jp> This posting was followed by some patches, so you'd better apply them. C-11: Some foreign language characters are different from what quail-help displays on the screen. Is this a known bug? Make sure that *quail-keyboard-translate-table* is correctly set. If this variable is left unchanged, Mule assumes your keyboard layout is same as vt100 and displays the layout for vt100. Especially if you are using a JIS keyboard, you have to put the following in your .emacs: (setq *quail-keyboard-translate-table* *quail-keyboard-translate-table-jis*) See doc/keyboard-translation.text for more information. C-12: How can I get hardcopy of texts made with Mule? A program called m2ps is included in the directory `lis-src' of Mule. It converts multi-lingual files into PostScript format. Note that m2ps accepts only *internal* encoding of Mule. m2ps uses X's BDF files as fonts. Characters are sent to printer as bitmaps, so you can get hardcopy of multi-language texts even if your printer does not support multi-lingual fonts. For further information, see the on-line manual (m2ps.1). C-13: Mule fails to handle filenames which contain two byte characters like Japanese, Chinese, or Korean. You must specify `--mcpath' to `configure' when you compile Mule. You also have to specify what coding system will be used in filenames. Adding the following lines in `site-init.el' may help. (Note that *autoconv* cannot be specified). ;;; example: To use Korean EUC for filenames (if (fboundp 'set-pathname-coding-system) (set-pathname-coding-system *euc-korea*)) C-14: Mule wrongly determines the eol-type when it reads a file in. The current version of Mule guesses the eol-type when it first encounters a CR/LF/CR+LF. This means if a CR is placed at the end of a `LF terminated' line, that file is regarded as ....*dos. Similarly, if a CR is placed at the end of a `CR+LF terminated' line, that file is regarded as ....*mac. You should explicitly specify the eol-type by `\C-u\C-x\C-f (\C-u M-x find-file)' when you read such ambiguous files. There are three possible reasons when the eol-type is wrongly determined: 1) The file contains more than one coding-system / eol-type. 2) Some sequences are unfortunately placed at the boundary of reading blocks. 3) The priority of coding-system is wrong. PERSONAL ENVIRONMENT D-1: I do not want a new line inserted even if I execute `next-line' at the end of a buffer. (setq next-line-add-newlines nil) does what you want. D-2: How can I stop Mule from beeping and displaying `beginning-of-buffer !' when I execute `previous-line' at the beginning of a buffer? Include the following lines in your .emacs file. (Note that this works only in Emacs 19.26 or later.) (defun previous-line (arg) (interactive "p") (condition-case nil (line-move (- arg)) (beginning-of-buffer))) D-3: I don't want the menu-bar and the scroll-bar. You can make them invisible by (menu-bar-mode 0) and (scroll-bar-mode -1), respectively. To make the scroll bar only of the current frame invisible, execute (toggle-scroll-bar -1). D-4: I cannot set a hook by (setq xxx-hook yyy). Maybe other hooks are overriding it. To avoid such a trouble, use `add-hook' instead of `setq' when you set a hook. (example) (add-hook 'c-mode-hook '(lambda () (setq tab-width 4))) By default, `add-hook' appends the new function at the top of the hook. However, if you specify a `t` as the third argument to `add-hook', it will be added at the end of the hook. D-5: Is it possible to use the same .emacs file for Mule-1.x and Mule-2.x? Sometimes this causes a trouble because of the difference of the versions of the original emacs. To make a commonly usable .emacs file, adopt the following structure: (if (eq (string-to-int emacs-version) 18) (_programs_for_Mule-1.x_)) (if (eq (string-to-int emacs-version) 19) (_programs_for_Mule-2.x_)) D-6: Why does the BS key execute the same command as the DEL key when I use Mule under the X Window System? How can I change it as if I am using it on a terminal? On terminals, the BS key generates ^H and the DEL key generates ^?. This means that Mule cannot distinguish BS from ^H nor DEL from ^?. Under X, however, these keys are distinguishable. So, taking account of the fact that the BS key is often used for what the DEL key does, the BS key executes what the DEL key does. If you prefer the behaviour on terminals, include the following lines in your .emacs file: (if (eq window-system 'x) (progn (define-key function-key-map [backspace] [8]) (put 'backspace 'ascii-character 8))) The `term/bobcat' file, which exchanges the two keys on terminals, does not under X. Include the following code in you .emacs file if you want to exchange the keys: (cond ((eq window-system 'x) (define-key function-key-map [delete] [8]) (put 'delete 'ascii-character 8)) ((null window-system) (load "term/bobcat"))) MAIL & NEWS E-1: When I am writing mail or news, typing C-c C-y quotes original text with " " at the beginning of line. How can I change this citation mark to "> " ? Use Supercite. Supercite has many functions and you can customise your own citation mark. See E-2 through E-4 for detail. E-2: How can I include the name of the sender in a citation mark? The following configuration, by ksakai@mtl.t.u-tokyo.ac.jp, should work. Some lines may be omitted according to your configuration. You can change the last three lines according to your taste. (See the documents of Supercite for detail.) ;; sc (autoload 'sc-cite-original "supercite" "Supercite 3.1" t) (autoload 'sc-submit-bug-report "supercite" "Supercite 3.1" t) (autoload 'sc-perform-overloads "sc-oloads" "Supercite 3.1" t) (setq mail-citation-hook 'sc-cite-original) (setq mail-yank-hooks 'sc-cite-original) ; for all but MH-E (setq mh-yank-hooks 'sc-cite-original) ; for MH-E (3.7 or later) (setq news-reply-mode-hook 'sc-perform-overloads) ; for RNEWS,GNEWS,GNUS (setq mail-setup-hook 'sc-perform-overloads) ; for RMAIL,PCMAIL,GNUS (setq gnews-ready-hook 'sc-perform-overloads) ; for GNEWS (setq sc-electric-references-p nil) (setq sc-preferred-header-style 1) (setq sc-citation-leader "") E-3: How can I change the citation mark to "> " with Supercite? Add the following line in addition to what has been done in E-2: (setq sc-nested-citation-p t) Note that if you add the above line, you cannot include the senders' names anymore. E-4: How can I customise citation mark with Supercite? Use sc-register-2.3.1 written by yoichi@s5g.ksp.fujixerox.co.jp. You can use it by installing sc-register and adding the following configuration: (setq sc-load-hook '(lambda () (require 'sc-register))) (setq sc-preferred-attribution 'registeredname) You will find it convenient when `selection by completion' is tiresome, e.g., when you include Japanese characters. Note that sc-register does not work with Supercite 3.0 or later. It is said that sc-register will be integrated to Supercite in future. E-5: I moved from Supercite 2.3 from 3.1, then it automatically does `fill-paragraph' whenever I use `sc-yank-original'. This is a bad feature, isn't it? We do not see the reason why backward compatibility is not kept by default. Anyway, adding the following line in your .emacs file suppresses `fill-paragraph'. E-6: RMAIL does not work. Takeshi Shigehara <takeki@nalgo.snet.or.jp> writes: On NEW EWS4800 EWX-UX/V(Rel 4.2), include the following lines in `site-init.el'. (It is possible that all SVR4 machines require the same lines.) (setq rmail-spool-directory "/var/mail/") (setq sendmail-program "/usr/ucblib/sendmail") (setq manual-program "/usr/ucb/man") In addition to that, make the directory `/var/mail' readable and writable by all users: chmod 777 /var/mail E-7: I am using GNUS. When I post to, say, fj.test, the default value of distribution is not set to fj. That is a new feature. The default is the first element of the list `gnus-local-distributions', which holds the candidates of completion. Display F-1: Japanese (Chinese, Korean) text are not displayed in Mule under the X Window System. You must set the resource like the following. Do not forget to include the specification of `FontSet-xxx' that is set as `FontSetList'. ! Mule-2.0 *FontSetList: 16,24 *FontSet-16:\ -*-fixed-medium-r-*--16-*-iso8859-1,\ -*-fixed-medium-r-*--16-*-iso8859-2,\ -*-fixed-medium-r-*--16-*-iso8859-3,\ -*-fixed-medium-r-*--16-*-iso8859-4,\ -*-fixed-medium-r-*--16-*-iso8859-5,\ -*-fixed-medium-r-*--16-*-iso8859-7,\ -*-fixed-medium-r-*--16-*-iso8859-8,\ -*-fixed-medium-r-*--16-*-iso8859-9,\ -*-fixed-medium-r-*--16-*-viscii1.1-1,\ -*-fixed-medium-r-*--16-*-mulearabic-0,\ -*-fixed-medium-r-*--16-*-mulearabic-1,\ -*-fixed-medium-r-*--16-*-mulearabic-2,\ -*-fixed-medium-r-*--16-*-muleipa-1,\ -*-fixed-medium-r-*--16-*-jisx0201.1976-*,\ -*-fixed-medium-r-*--16-*-jisx0208.1983-*,\ -*-fixed-medium-r-*--16-*-jisx0212.1990-*,\ -*-medium-r-*--16-*-gb2312.1980-*,\ -*-mincho-medium-r-*--16-*-ksc5601.1987-*,\ -*-fixed-medium-r-*--16-*-tis620.2529-1 *FontSet-24:\ -*-fixed-medium-r-*--24-*-iso8859-1,\ -*-fixed-medium-r-*--24-*-iso8859-2,\ -*-fixed-medium-r-*--24-*-iso8859-3,\ -*-fixed-medium-r-*--24-*-iso8859-4,\ -*-fixed-medium-r-*--24-*-iso8859-5,\ -*-fixed-medium-r-*--24-*-iso8859-7,\ -*-fixed-medium-r-*--24-*-iso8859-8,\ -*-fixed-medium-r-*--24-*-iso8859-9,\ -*-fixed-medium-r-*--24-*-viscii1.1-1,\ -*-fixed-medium-r-*--24-*-mulearabic-0,\ -*-fixed-medium-r-*--24-*-mulearabic-1,\ -*-fixed-medium-r-*--24-*-mulearabic-2,\ -*-fixed-medium-r-*--24-*-muleipa-1,\ -*-fixed-medium-r-*--24-*-jisx0201.1976-*,\ -*-fixed-medium-r-*--24-*-jisx0208.1983-*,\ -*-fixed-medium-r-*--24-*-jisx0212.1990-*,\ -*-medium-r-*--24-*-gb2312.1980-*,\ -*-mincho-medium-r-*--24-*-ksc5601.1987-*,\ -*-fixed-medium-r-*--24-*-tis620.2529-1 F-2: Why does Mule appear with dirty fonts when I use it under X? TAKAHASHI Naoto <ntakahas@etl.go.jp> and Ken'ichi Handa <handa@etl.go.jp> write: Mule creates a window whose size is based on the width of the ASCII font. If the width of the ASCII font and that of the other fonts do not match, then some characters will not be displayed completely. The width of Japanese, Chinese, and Korean fonts must be exactly twice as wide as that of ASCII fonts; the width of other fonts must be the same as that of ASCII fonts. If you see dirty characters on your screen, it may be caused by the auto-scaling function of X. If an X server receives a request of a font which does not exist but whose specification is LFD compliant, it tries to expand of reduce what is available. For example, a specification "-*-fixed-medium-r-*--*-*-*-*-*-*-jisx0208.1983-*" is LFD compliant, so it may be resized. On the other hand, a specification in mule-init.el: "-*-fixed-medium-r-*--*-*-jisx0208.1983-*" is not LFD compliant (the number of columns are less than it should to be), so auto-scaling is inhibited. (What is described here is what we have learned from experience, not from X documentation.) F-3: How can I set the default font size to 14 pixels under X? The first FontSet in the `Emacs*FontSetList:' field in your X resource will be used as default. So if you want the default to be 14 pixels, put `14' as the first element of `Emacs*FontSetList:', and include the specification of FontSet-14. See F-1 for examples of FontSet specification. Note that `emacs*FontSetList:' or `Mule*FontSetList:' are invalid for resource specification. SANETO Takanori <sanewo@cep.sony.co.jp> writes: You can think of `Emacs' as the class name and `mule' as the instance name. `Emacs' is used for all Emacs family programs: mule, nemacs, epoch, nepoch, and of course the original GNU emacs. On the other hand, the instance name is used to distinguish each entities. If you rename mule to hoge, the specification `Emacs*...' still has effect but `mule*...' is of no effect. When both specification by instance name and specification by class name are valid, the instance name has priority. You can explicitly specify the instance name by `-rn name' option. Or if the environment variable `WM_RES_NAME' is set, it will be used. If neither the option nor the environment variable is available, the command name will be used. F-4: I turned on visible-bell with (set visible-bell t), but the flashing area is limited to a quarter in the centre. This is a feature. It has changed since GNU Emacs 18.58. F-5: What is a `face'? It is a mechanism used by Emacs when running under the X Window System that attaches attributes like colours or fonts to the displayed strings. Mule 2.x uses this mechanism even for displaying the mode line in reverse video. `hilit19.el' and `font-lock.el' are examples of programs that use face well. F-6: What is `terminal face'? How can I use it? In the original emacs, faces are only available under the X Window System. In Mule, however, you can use face even outside X. We call this mechanism `terminal face'. (The biggest reason why we need a new name is to use it for a compile switch and configure switch.) To enable the terminal face facility, specify `--terminal-face' when you `configure'. F-7: Mule under X has wide line spaces. How can I shrink them? Include the following line in you X resource file: Emacs*lineSpace: 0+0 Or invoke Mule with the `-lsp 0+0' command line option. The function `x-set-linespace', which was provided in Mule Ver.1, is not yet available in Mule Ver.2. EMACS LISP PACKAGES G-1: A lisp program `xxx', which worked in Mule 1.x, does not work any more. What should I do? Mule 1.x is based on GNU Emacs 18.59, but Mule 2.x is based on GNU Emacs 19. Many features have been modified. But you do not have to be pessimistic, as many programs have now been ported. A checklist is given below: 1. The distribution kit of Mule 2.x contains many lisp programs that were optional in the previous release. Check the standard lisp directory first, as these programs have already ported to Mule 2.x. If you find an alternative there, use it. 2. In some cases, the author of the program has already finished porting, even though the newer version is not included in the standard distribution. It is worth searching for the latest version with archie or another tool. 3. For example, shell-mode, which has many different improved programs, has become much more convenient in Mule 2.x. So the standard version would be an alternative. 4. You can port it yourself as a last resort. G-2: How can I display reserved words and comments in C programs in colour? Use `hilit19.el' or `font-lock.el'. G-3: How can I use `hilit19.el'? All you have to do is load the file. If you want to restrict the modes in which hilit19 is enabled, list the names of the modes in `hilit-mode-enable-list'. Also, you can specify the modes in which hilit19 is disabled like the following: (setq hilit-mode-enable-list '(not text-mode emacs-lisp-mode sgml-mode c-mode c++-mode) A fault of hilit19 is that you must hit `C-S-l' after having entered strings to reflect the effect. Because of this feature, you may want to use font-lock only in some specific modes. G-4: How can I use `font-lock.el'? Include lines like the following in your .emacs file for each mode in which you want to enable font-lock: (setq emacs-lisp-mode-hook '(lambda () (font-lock-mode 1))) By default, font-lock does not display in colour. If you want colour strings, specify the face as follows: (add-hook 'font-lock-mode-hook '(lambda () (make-face 'keyword-face) (set-face-foreground 'keyword-face "tomato") (setq font-lock-keyword-face 'keyword-face) (make-face 'comment-face) (set-face-foreground 'comment-face "violetred4") (setq font-lock-comment-face 'comment-face) (make-face 'string-face) (set-face-foreground 'string-face "darkgreen") (setq font-lock-string-face 'string-face) (make-face 'function-face) (set-face-foreground 'function-face "blueviolet") (setq font-lock-function-name-face 'function-face) (make-face 'c-type-face) (set-face-foreground 'c-type-face "darkolivegreen") (setq font-lock-type-face 'c-type-face) )) There are improved versions of font-lock: face-lock can handle colours and grey scales; fast-lock works faster. These programs are available via anonymous FTP, and will be integrated into font-lock in the future version of emacs. G-5: I want a more convenient c-mode. Use cc-mode. It supports, for example, various indent styles and C++. It is more convenient in many respects. G-6: Are there any packages which automatically use RCS? `vc.el' is such a one, and can be used in Mule 2.x by default. If you find-file a file that is controlled by RCS, vc-mode is automatically turned on, and C-x C-q does `ci -u' or `co -l' depending on the situation. This is already practical enough, but if you want to know the detail, refer to info. G-7: How can I input codes like `ESC $ B $ "' directly from the keyboard? You can do it by using `keyboard.el'. Give *junet* to `set-keyboard-coding-system' and type what you want. G-8: Why does "M-!" (shell-command) not work when I load my lovely ange-ftp? Many functions, including `write-region' and `insert-file-contents' (which are modified in Mule), will be replaced by loading ange-ftp. In Mule, `shell-command' calls the new `write-region' and the new `insert-file-contents' with extra arguments, but another `write-region' introduced by ange-ftp cannot interpret these extra arguments, so the execution fails. To fix this problem, Masayuki KUWADA <kuwada@soliton.ee.uec.ac.jp> writes as follows: Add `&rest coding-system' at the end of parameters of the definition of `ange-ftp-write-region' and that of `ange-ftp-insert-file-contents' in `ange-ftp.el', and apply the following modifications. (The modified ange-ftp can be shared with Emacs/Nemacs.) [Caution] The following changes are for an ange-ftp whose version is RCS: !Header: ange-ftp.el,v 4.20 92/08/14 17:04:34 ange Exp ! Other versions may require different modifications. In `ange-ftp-write-region', `ange-ftp-real-write-region' is called twice. Change these occurrences as follows: (ange-ftp-real-write-region start end temp nil visit) --> (apply 'ange-ftp-real-write-region start end temp nil visit coding-system) (ange-ftp-real-write-region start end filename append visit) --> (apply 'ange-ftp-real-write-region start end filename append visit coding-system) And in `ange-ftp-insert-file-contents', `ange-ftp-real-insert-file-contents' is called twice. Change these occurrences as follows: (ange-ftp-real-insert-file-contents temp visit) --> (apply 'ange-ftp-real-insert-file-contents temp visit coding-system) (ange-ftp-real-insert-file-contents filename visit) --> (apply 'ange-ftp-real-insert-file-contents filename visit coding-system) EMACS LISP PROGRAMMING H-1: Is Mule upwards-compatible with Nemacs/Emacs? Although Mule is based on GNU Emacs, they are slightly different at the level of emacs lisp. Mule is quite different from Nemacs. Enami TSUGUTOMO <enami@sys.ptg.sony.co.jp> points out the incompatibility between Mule and Nemacs/Emacs as follows: * Incompatibility caused by the existence of functions specific to each program * Incompatibility caused by the modifications to function definitions (number of arguments, etc.) * Incompatibility of byte compiled files caused by the difference of the internal representation between Mule and Nemacs. Their byte code is compatible, however. (isn't it? :-) * Incompatibility of compiled emacs lisp files caused by the representations of literals between Mule 1.x and Mule 2.x. * Incompatibility caused by the difference of versions of GNU Emacs they are based on. H-2: Give me some hints on porting a program for Mule 1.x to Mule 2.x. Pay attention to the following points: * `auto-fill-hook' has been renamed to `auto-fill-function'. * The structure of keymaps has been changes a little. * You'd better change obsolete variables: unread-command-char -> unread-command-event etc. ---------------------------------------------------------------------- FAQ Part 2: Questions specific to each language ABOUT CHINESE CH-1: I succeeded in compiling Mule, but I cannot input Chinese. If you want to use foreign languages in Mule, you have to load the language specific files by specifying them in the site-init.el file. By default there is no site-init.el file, and this means that you can input only English. If you want to use Chinese, include the following line in the lisp/site-init.el file when you build Mule: (load "chinese") CH-2: How can I input Chinese? TAMAGO is used to input Chinese. By communicating with cserver of cWnn, TAMAGO provides a convenient input method for Chinese(GB). Type "M-x load-library RET chinese RET" and select PinYin mode to enable Pin-Yin input. Mule also provides quail-system. This system supports all of the conversion tables included in `cxterm/dict/tit'. CH-3: I want to use EUC for displaying Japanese, Chinese, Korean, EC, etc. simultaneously. It is impossible, because EUC for each language is the very same coding system. Use *junet* or *ctext* to display multi-lingual texts. CH-4: How can I input hanzi in incremental search? Load `isearch-ext.el' first, then you will be able to input characters other than ASCII in isearch (incremental search). You can invoke `TAMAGO' with `C-\' and `quail' with `C-]' to input foreign languages. CH-5: Mule fails to handle filenames which contain Chinese. You must specify `--mcpath' to `configure' when you compile Mule. You also have to specify what coding system will be used in filenames. Adding the following lines in `site-init.el' may help. (Note that *autoconv* cannot be specified). ;;; example: To use Chinese EUC for filenames (if (fboundp 'set-pathname-coding-system) (set-pathname-coding-system *euc-china*)) CH-6: Can I read a newsgroup alt.chinese.text[.big5] in Chinese? In alt.chinese.text ~{ and ~} are used instead of 'ESC $ A' (which designates Chinese to G0) and 'ESC ( B' (which designates ASCII to G0) respectively. This is called Hz encoding. In Mule you can read this newsgroup in Chinese with the combination of `chinese.el', `gnusutil.el', and GNUS. Load `chinese.el' and `gnusutil.el' in this order, then invoke GNUS. `gnusutil.el' is included in the standard distribution kit of Mule Ver.2. ABOUT JAPANESE JP-1: What is the advantage of using Mule? Are there any cases in which Nemacs is better? If there are, what are they? Some advantages of using Mule are: * You can use not only English and Japanese, but also Chinese, Korean, and many other languages. You can use a mixture of these languages, too. * The specified regions in a buffer can have various display attributes. Unlike Nemacs, you can display these attributes on a normal terminal as long as the terminal supports such functions. * You can utilise a Japanese input system called "TAKANA" which gives better performance than the "TAMAGO" system of Nemacs. * Nemacs is based on GNU Emacs 18.55, while Mule Ver.2 is based on Emacs 19. * Mule has a powerful regular expression compiler. On the other hand, Mule is much bigger and more complicated than Nemacs. So if your computer facility is not powerful and the languages you want to use are limited to English and Japanese, it may be better to use Nemacs. Note that Mule is not fully compatible with Nemacs. Some of the applications developed for Nemacs do not work well with Mule. JP-2: Will Nemacs disappear? "Of course not" would be the ideal answer, but Nemacs will not be supported any more. This means that the final version of Nemacs is 3.3.2. JP-3: Are there any mailing lists for Mule in which discussion is done in Japanese? Use news (fj.editor.emacs) for discussion in Japanese. (See A-8.) JP-4: Does Mule has manuals written in Japanese? See also A-10. Mule has the following Japanese manuals and documents: * texinfo manual (in $MULE/man) mule-jp.texi texinfo manual for Mule egg-jp.texi texinfo manual for TAMAGO canna-jp.texi texinfo manual for canna * FAQ (in $MULE/etc/FAQ-Mule.jp) The document you are reading now is the English translation of this. * tutorial You can invoke the Japanese tutorial by C-h T (M-x help-with-tutorial-for-mule) in Mule. * documents under the `doc' directory The directory `$MULE/doc' contains explanations of functions and sample text. The files whose names end in `.jp' are written in Japanese. JP-5: I succeeded in compiling Mule, but I cannot input Japanese. If you want to use foreign languages in Mule, you have to load the language specific files by specifying them in the site-init.el file. By default there is no site-init.el file, and this means that you can only input English. If you want to use Japanese, include the following line in the lisp/site-init.el file when you build Mule: (load "japanese") (cf. B-7) JP-6: I cannot display Japanese in Mule under the X Window System. You must set the resource like the following. Do not forget to include the specification of `FontSet-xxx' that is set as `FontSetList'. ! Mule-2.0 *FontSetList: 16,24 *FontSet-16:\ -*-fixed-medium-r-*--16-*-iso8859-1,\ -*-fixed-medium-r-*--16-*-iso8859-2,\ -*-fixed-medium-r-*--16-*-iso8859-3,\ -*-fixed-medium-r-*--16-*-iso8859-4,\ -*-fixed-medium-r-*--16-*-iso8859-5,\ -*-fixed-medium-r-*--16-*-iso8859-7,\ -*-fixed-medium-r-*--16-*-iso8859-8,\ -*-fixed-medium-r-*--16-*-iso8859-9,\ -*-fixed-medium-r-*--16-*-viscii1.1-1,\ -*-fixed-medium-r-*--16-*-mulearabic-0,\ -*-fixed-medium-r-*--16-*-mulearabic-1,\ -*-fixed-medium-r-*--16-*-mulearabic-2,\ -*-fixed-medium-r-*--16-*-muleipa-1,\ -*-fixed-medium-r-*--16-*-jisx0201.1976-*,\ -*-fixed-medium-r-*--16-*-jisx0208.1983-*,\ -*-fixed-medium-r-*--16-*-jisx0212.1990-*,\ -*-medium-r-*--16-*-gb2312.1980-*,\ -*-mincho-medium-r-*--16-*-ksc5601.1987-*,\ -*-fixed-medium-r-*--16-*-tis620.2529-1 *FontSet-24:\ -*-fixed-medium-r-*--24-*-iso8859-1,\ -*-fixed-medium-r-*--24-*-iso8859-2,\ -*-fixed-medium-r-*--24-*-iso8859-3,\ -*-fixed-medium-r-*--24-*-iso8859-4,\ -*-fixed-medium-r-*--24-*-iso8859-5,\ -*-fixed-medium-r-*--24-*-iso8859-7,\ -*-fixed-medium-r-*--24-*-iso8859-8,\ -*-fixed-medium-r-*--24-*-iso8859-9,\ -*-fixed-medium-r-*--24-*-viscii1.1-1,\ -*-fixed-medium-r-*--24-*-mulearabic-0,\ -*-fixed-medium-r-*--24-*-mulearabic-1,\ -*-fixed-medium-r-*--24-*-mulearabic-2,\ -*-fixed-medium-r-*--24-*-muleipa-1,\ -*-fixed-medium-r-*--24-*-jisx0201.1976-*,\ -*-fixed-medium-r-*--24-*-jisx0208.1983-*,\ -*-fixed-medium-r-*--24-*-jisx0212.1990-*,\ -*-medium-r-*--24-*-gb2312.1980-*,\ -*-mincho-medium-r-*--24-*-ksc5601.1987-*,\ -*-fixed-medium-r-*--24-*-tis620.2529-1 JP-7: How can I input Japanese? The following Japanese input systems are prepared: * TAMAGO (aka EGG) version TAKANA * sj3-egg * Canna All of them offer a Japanese input facility using a romaji-kanji conversion method, which utilises a network conversion server. For details, refer to the manuals of each system. These systems must be set up when building Mule. * T-CODE input using quail This requires no conversion server. After loading `lisp/quail/tcode.el', you can toggle between ASCII and T-CODE mode by C-]. (CAUTION: `quail/tcode.el' will soon be replaced with `tc-mule.el'.) Japanese can be input with `SKK', too. SKK requires no special settings when Mule is built. It can be used both as a closed system in Mule and as a system which communicates with a dictionary server. For Mule Ver.2, use skk7.18.1 or later version. JP-8: What is TAMAGO (aka EGG) ? TAMAGO is a system which offers a Japanese/Chinese environment utilising the network-wide conversion servers (jserver/cserver) of Wnn. Sometimes TAMAGO is called EGG, which is the translation of `TAMAGO' in English. TAMAGO consists of three parts: 1) a input string conversion system (or romaji-kana conversion system), 2) a kana-kanji (and pinyin-hanzi) conversion system, and 3) a Japanese editing system. The input string conversion system can be used not only for hiragana and katakana but also for pinyin, hangul, and other languages. JP-9: What is TAKANA? Toshiaki SHINGU <shingu@cpr.canon.co.jp> writes: It is a version of TAMAGO made for the Wnn V4 library. The name stands for "TAmagoyo KAshikoku NA-re (EGG, be clever)". In addition to the conventional TAMAGO, it has the following features: * dai-bunsetsu / sho-bunsetsu conversion * reverse conversion (kanji to kana) * word registration according to the POS of V4 server (e.g. proper noun) * enabling / disabling a word without deleting it from the dictionary * setting words frequency * setting comments in the dictionary TAKANA is not an alternative to TAMAGO but rather an enhancement. TAMAGO will be integrated into a TAKANA version in the future. Older versions (Wnn V3, and Wnn V4 for V3 library) will not be supported. JP-10: What is sj3-egg? It is another version of TAMAGO which communicates with sj3serv included in the contrib part of X11R5/R6. It provides very high conversion efficiency. JP-11: What is Canna? It is a kana-kanji conversion system which follows the server-client method. In Mule, it provides almost the same user interface as TAMAGO but the conversion server of Canna is used instead. JP-12: What is SKK? Masahiko SATO <masahiko@sato.riec.tohoku.ac.jp> writes: SKK is a system which provides a fast and highly efficient Japanese input environment. It allows the user to input the intended sentence easily and "as is". SKK is fast because it performs the conversion without any grammatical analysis. The user can let it know his/her intention by specifying the starting point of OKURIGANA, and this makes the conversion efficiency high. When registering words in the dictionary it is not necessary for the user to give information about part of speech, etc., and this makes it easy to augment the dictionary. You can learn the usage of SKK in a short time with its tutorial program. JP-13: How can I input Japanese (or Korean/Chinese) characters whose shape I am aware of but whose reading I don't know? TAMAGO supports both BUSYU input (M-x busyu-input) and KAKUSUU input (M-x kakusuu-input). These functions make it possible to input a kanji by selecting its busyu or kakusuu from a menu displayed in the minibuffer. JP-14: I am not able to cut & paste using mouse in kterm. This happens when 1)Mule is running inside of a kterm, and 2) keyboard-coding-system of Mule is incompatible with kanji-mode of that kterm. Make these two compatible. JP-15: Can I input kanji by kinput2? You can input kanji by kinput2 when Mule is running in a kterm. Do not forget to set keyboard-coding-system of Mule compatible with kanji-mode of that kterm. JP-16: I set (setq keyboard-coding-system *euc-japan*), but it does not work well. Do not use `setq' to bind a value to `keyboard-coding-system'. Use the function `set-keyboard-coding-system'. This comment also applies to `display-coding-system', `file-coding-system', etc. JP-17: I want to use EUC for displaying Japanese, Chinese, Korean, EC, etc. simultaneously. This is impossible, because EUC for each language is the very same coding system. Use *junet* or *ctext* to display multi-lingual texts. JP-18: How can I input kanji in incremental search? Type C-k to input kanji in incremental search (isearch). In this mode you can type a string in the minibuffer, so Japanese/Chinese can also be input by C-\. When the string has been input, hit RET to restart incremental search. JP-19: How can I input single-width katakana (JIS X0201 katakana)? Ken Shibata <shibata@sgi.co.jp> writes: To input single-width katakana, Mule provides two emacs lisp files, i.e. `jisx0201.el' and `its/han-kata.el'. The file `jisx0201.el' defines `fence-hankaku-katakana' (bound to `M-x' in fence-mode), which converts all double-width katakana and hiragana in fence-mode at once. The file `its/han-kata.el' defines `its:select-hankaku-katakana' (bound to `M-C-x' in fence-mode; `C-x C-k x' otherwise), which converts roma-ji into single-width katakana. Furthermore, `jisx0201.el' defines `hankaku-katakana-region' and `zenkaku-katakana-region' (or -paragraph/-sentence/-word). These functions convert strings all at once. The file `its/han-kata.el' loads `jisx0201.el', so you can load either of them in your .emacs file. But note that loading these files takes a fairly long time. If you often input single-width katakana, you should pre-load them in site-init.el. To summarise, 1) In fence-mode, * type M-x to convert kana to single-width. * type M-h to revert single-width katakana to double-width hiragana. * type M-k to revert single-width katakana to double-width katakana. 2) Outside fence-mode, * type C-x C-k x to make typed roma-ji be converted to single-width katakana. * type C-x C-k h to make typed roma-ji be converted to double-width hiragana. 3) In fence-mode, * type M-C-x to make typed roma-ji be converted to single-width katakana. * type M-C-h to make typed roma-ji be converted to double-width hiragana. (If you have exchanged BS and DEL by `bobcat.el' or something like that, and are using ESC key to input Meta, then M-C-h means ESC DEL.) JP-20: How can I input Japanese hiragana "ん" by typing "nn" when I am using Mule + Egg? Include the following line in your .emacs file. (setq enable-double-n-syntax t) JP-21: Mule fails to handle filenames which contain Japanese. You must specify `--mcpath' to `configure' when you compile Mule. You also have to specify what coding system will be used in filenames. Adding the following lines in `site-init.el' may help. (Note that *autoconv* cannot be specified). ;;; example: To use Japanese EUC for filenames (if (fboundp 'set-pathname-coding-system) (set-pathname-coding-system *euc-japan*)) JP-22: How can I use Wnn and Canna simultaneously? Sakai Kiyotaka <ksakai@mtl.t.u-tokyo.ac.jp> writes: First, define both `EGG' and `CANNA' in `mconfig.h' when you compile Mule. Second, if you have set up to use Canna, your should have something like the following in your .emacs file: (if (and (boundp 'CANNA) CANNA) (progn (load-library "canna") (canna) ... )) Change the above like this: (if (and (boundp 'CANNA) CANNA) (progn (setq canna-server "mercury") (cond ((boundp 'egg-version) (require 'can-n-egg) (can-n-egg)) (t (require 'canna) (canna))) ... )) Now you can activate Wnn with `\C-\' and Canna with `\C-o'. JP-23: Is Mule upwards-compatible with Nemacs/Emacs? Mule is quite different from Nemacs at the level of emacs lisp. Enami TSUGUTOMO <enami@sys.ptg.sony.co.jp> points out the incompatibility between Mule and Nemacs/Emacs as follows: * Incompatibility caused by the existence of functions specific to each program * Incompatibility caused by the modification of function definitions (number of arguments, etc.) * Incompatibility of byte compiled files caused by the difference of the internal representation between Mule and Nemacs. Their byte code is compatible, however. (isn't it? :-) * Incompatibility caused by the difference of versions of GNU Emacs they are based on. (only current-column, maybe.) JP-24: Can Nemacs and Mule share the same .emacs file? Mule is not compatible with Nemacs. Sometimes a `.emacs' file made for Nemacs causes trouble when used for Mule. To share the same .emacs file, you have to divide it into two parts; one for Mule and the other for Nemacs: (if (boundp 'MULE) (functions for Mule)) (if (boundp 'NEMACS) (functions for Nemacs)) There is a sample shared `.emacs' file in the texinfo manual of Mule. It may help you. Note that some of the byte-compiled files are NOT sharable. Concerning about this point, Enami Tsugutomo <enami@sys.ptg.sony.co.jp> writes: You should prepare two different files for Mule and Nemacs if you want to byte-compile those files. As Mule and Nemacs adopt different internal representations of kanji characters, you must re-byte compile if the files include kanji characters. JP-25: Some functions work fine with Nemacs, but they show the message "Symbol's function definition is void: define-program-kanji-code" and abort. How can I fix this? Atsushi Furuta <furuta@srarc2.sra.co.jp> writes: `define-program-kanji-code' is specific to Nemacs, so you have to modify it to make such functions run on Mule. `define-program-coding-system' is the counterpart in Mule. For example, (define-program-kanji-code nil ".*inc.*" 2) should be replaced by (define-program-coding-system nil ".*inc.*" *junet*) Many functions named `kanji-code-xxx' before have been renamed to `coding-system-xxx' in Mule. The variable `kanji-flag' has been renamed to `mc-flag' in Mule. Fortunately, a package has been written to make Nemacs oriented codes work in Mule. Ken'ichi Handa <handa@etl.go.jp> writes: From: handa@etlken.etl.go.jp (Kenichi Handa) Newsgroups: fj.editor.mule,fj.editor.emacs Subject: nemacs -> mule Message-ID: <HANDA.93Oct15215300@etlken.etl.go.jp> Date: 15 Oct 93 21:53:00 GMT With the help of members of our mailing list, I have written a simple package which makes the shift from Nemacs to Mule easier. First, install the two elisp files below in your load-path. Then modify your .emacs file as follows. Your configuration for Mule will be the same as that for Nemacs: (load-library "nemacs-pre") ... your original .emacs comes here ... (load-library "nemacs-post") The above modification, of course, does not harm the usage of Nemacs. This package is not yet complete, so please send your requests like "how can I modify my Nemacs oriented configuration so and so for Mule?" Both `nemacs-pre.el' and `nemacs-post.el' are available via anonymous FTP from etlport.etl.go.jp:/pub/mule/contrib/lisp. JP-26: How can I use Supercite in Japanese environment? For those who use only English, the configuration shown in E-2 above suffices. But if you want to use Japanese, you have to change your `sc-cite-regexp'. Yoichi HIROSE <yoichi@esasd.ksp.fujixerox.co.jp> writes: Some categories match Japanese strings in Nemacs but do not in Mule. You do not have to worry if you have not used a category to specify a regexp. See the following regexp. The regexp is very short in Mule, while it was quite long in Nemacs. For more information, see the part of char-category in info. Anyway you have to change sc-cite-regexp as follows if you want to use Japanese. An example of how to set sc-cite-regexp: (if (boundp 'MULE) (setq sc-cite-regexp "\\s *\\([a-zA-Z0-9_]\\|\\cj\\)*>+\\s *") (setq sc-cite-regexp "\\s *\\([a-zA-Z0-9_]\\|\\cc\\|\\cC\\|\\ch\\|\\cH\\|\\ck\\|\\cK\\|\\ca\\|\\cg\\|\\cr\\|\\cu\\)*>+\\s *")) JP-27: Why dired does not work? Dired scans the output of ls, but the output should not contain Japanese. Akira Kon <kon@quincy.d1.bs2.mt.nec.co.jp> writes: My machine is a SVR4 and ls gives an output like the following when LANG is set to Japanese. -rw-rw-r-- 1 kon com 1002 10月30日 00時22分 .bashrc -rw-r--r-- 1 kon com 26387 11月18日 10時06分 .emacs (The dates are in Japanese, you know.) But `dired.el' has a fragment of codes like: (defun dired-get-filename (&optional localp no-error-if-not-filep) (...deleted...) (beginning-of-line) (if (re-search-forward "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)[ ]+[0-9]+" eol t) (progn (skip-chars-forward " ") and this means, in short, that dired does not accept the output of Japanese `ls -l'. I believe that the following modification works for dired, but I am afraid that there are other programs that scan the output of UNIX commands. --- dired.el.orig Mon Nov 22 23:32:13 1993 +++ dired.el Mon Nov 22 23:33:03 1993 @@ -42,10 +42,13 @@ (erase-buffer) (setq dirname (expand-file-name dirname)) (if (file-directory-p dirname) - (call-process "ls" nil buffer nil - dired-listing-switches dirname) + (call-process "env" nil buffer nil + "LC_MESSAGES=C" "LC_DATE=C" "LANG=C" + "ls" dired-listing-switches dirname) (let ((default-directory (file-name-directory dirname))) - (call-process shell-file-name nil buffer nil + (call-process "env" nil buffer nil + "LC_MESSAGES=C" "LC_DATE=C" "LANG=C" + shell-file-name shell-command-option (concat "ls " dired-listing-switches " " (file-name-nondirectory dirname))))) JP-28: I cannot read the string that follows the single width `KONNICHIWA' in the file `$MULE/doc/demo'. Azuma OKAMOTO <lfo@sayori.dais.is.tohoku.ac.jp> writes: That part contains `ESC $ ( D', so you need a JISX0212 font to display the characters. If you have not installed that font, you cannot read it, of course. :-) JP-29: Are there any free JIS X0212 (JIS supplemental kanji) fonts? Youn can find in: etlport.etl.go.jp:/pub/mule/fonts/Japanese.tar.gz Besides the above Japanese.tar.gz, another JISX0212.1990 font was posted to fj.sources: From: yasuoka@kudpc.kyoto-u.ac.jp (Koichi Yasuoka) Newsgroups: fj.sources Subject: 16x16 JIS Supplementary Kanji Font (1/6) Date: 28 Jul 1994 00:06:12 +0900 Organization: Data Processing Center, Kyoto University, Kyoto, Japan. Message-ID: <315t54$et5@kudpc.kudpc.kyoto-u.ac.jp> This posting is followed by some patches, so you'd better apply them. HANDLING LATIN CHARACTERS LT-1: How can I input ISO 8859 characters? Mule supports all the character sets from Latin-1 (ISO 8859-1) to Latin-5 (ISO 8859-9). The quail system is used to input these characters from an ordinary ASCII keyboard. Following five files are provided to input ISO 8859 characters: * quail/latin.el : languages written in Latin alphabets (for slow typists) This file is for naive users. Most of the accented letters are input by composing two characters. For example, you will get an ,Ai (e with acute accent) by typing an e followed by a ' (single quote). LANGUAGE PACKAGE NAME -------------------------------- Danish danish Esperanto esperanto Finnish finnish French french German german Icelandic icelandic Italian italian Norwegian norwegian Spanish spanish Swedish swedish Turkish turkish British british ISO 8859-1 latin-1 ISO 8859-2 latin-2 ISO 8859-3 latin-3 ISO 8859-4 latin-4 ISO 8859-9 latin-5 * quail/ltn.el : languages written in Latin alphabets (for quick typists) This file was made for those who find quail/latin.el is too awkward. The principle of this file is "the less strokes, the better". Most of the special letters proper to each language are allocated to somewhere so that you can type them with a single stroke. You can type very quickly once you learn the layout by heart. LANGUAGE PACKAGE NAME ----------------------------------------------------------- Danish dnsh Finnish fnnsh French frnch, azerty German grmn Icelandic iclndc Italian itln Norwegian nrwgn Spanish spnsh Swedish swdsh * quail/cyrillic.el : languages written in Cyrillic alphabets LANGUAGES PACKAGE NAME NOTE ----------------------------------------------------------------- Russian jcuken standard layout for Russian jis-russian same as jcuken, but uses JIS encoding Macedonian macedonian JUS.I.K1.004 Serbian serbian JUS.I.K1.005 Byelorussian byelorussian derived from JUS.I.K1 Ukrainian ukrainian derived from JUS.I.K1 ISO 8859-5 yawerty based on Roman transcription * quail/greek.el : for Greek LANGUAGE PACKAGE NAME NOTE ----------------------------------------------------------------- Greek greek jis-greek same as greek, but uses JIS encoding * quail/hebrew.el : for Hebrew LANGUAGE PACKAGE NAME -------------------------------- Hebrew hebrew After having loaded the appropriate file(s), you can toggle quail- minor-mode with "C-]". In the quail mode you can select a package for a particular language either typing "M-s" or evaluating (quail-use-package "package-name"). Typing "M-z" shows a brief help. Examples: 1) If you are new to German and want to type German texts, include the following two lines in your .emacs. (load "quail/latin") (quail-use-package "quail-german") 2) If you want to use the azerty layout for French, include the following two lines in your .emacs. (load "quail/ltn") (quail-use-package "azerty") LT-2: How can I display Latin-1 characters on a character terminal? TAKAHASHI Naoto <ntakahas@etl.go.jp> writes: You have to set `display-coding-system' to *ctext* to display Latin-1 characters in Mule running on a character terminal. This can be done either 1) by adding a line which looks like: (setq display-coding-system *ctext*) in your .emacs file, or 2) by answering *ctext* to the prompt "Display-coding-system:" which is shown when you type "M-x set-display-coding-system". Even under the X Window System, you have to run one of the above procedures if you invoke Mule with -nw option. In either case, your character terminal or terminal emulator should be able to support Latin-1 characters.