(mcs-modules): Add `mcs-xmu' if the feature `utf-2000' is not provided.
[elisp/apel.git] / EMU-ELS
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; EMU-ELS: list of EMU modules to install
4
5 ;;; Code:
6
7 (setq emu-modules (cons 'emu
8                         (if (if (featurep 'xemacs)
9                                 ;; running-xemacs-19_14-or-later
10                                 (or (>= emacs-major-version 20)
11                                     (and (= emacs-major-version 19)
12                                          (>= emacs-minor-version 14)))
13                               ;; running-emacs-19_29-or-later
14                               (or (>= emacs-major-version 20)
15                                   (and (= emacs-major-version 19)
16                                        (>= emacs-minor-version 29))))
17                             '(richtext)
18                           '(tinyrich))))
19
20 (setq pcustom-modules (if (and (module-installed-p 'custom)
21                                ;; new custom requires widget.
22                                (module-installed-p 'widget))
23                           '(pcustom)
24                         ;; XXX: order is significant in current make process.
25                         '(tinycustom pcustom)))
26
27 (let ((poe-modules '(poe))
28       (pces-modules '(pces))
29       (poem-modules '(poem))
30       (mcs-modules '(mcharset))
31       (invisible-modules '(invisible))
32       (pccl-modules '(pccl)))
33   (cond ((featurep 'xemacs)
34          (setq poe-modules (cons 'poe-xemacs poe-modules)
35                invisible-modules (cons 'inv-xemacs invisible-modules))
36          )
37         ((>= emacs-major-version 19)
38          (setq invisible-modules (cons 'inv-19 invisible-modules))
39          (if (and (= emacs-major-version 19)
40                   (<= emacs-minor-version 28))
41              (setq poe-modules (cons 'localhook poe-modules))
42            )
43          )
44         (t
45          (setq poe-modules (cons 'env (cons 'poe-18 (cons 'localhook poe-modules)))
46                invisible-modules (cons 'inv-18 invisible-modules))
47          ))
48   (cond ((featurep 'xemacs)
49          (if (featurep 'file-coding)
50              (setq pces-modules (cons 'pces-xfc (cons 'pces-20 pces-modules)))
51            )
52          (if (featurep 'mule)
53              (setq pces-modules (cons 'pces-xm pces-modules))
54            (setq pces-modules (cons 'pces-raw pces-modules))
55            ))
56         ((featurep 'mule)
57          (cond ((>= emacs-major-version 20)
58                 (setq pces-modules
59                       (cons 'pces-e20 (cons 'pces-20 pces-modules)))
60                 (or (and (fboundp 'set-buffer-multibyte)
61                          (subrp (symbol-function 'set-buffer-multibyte)))
62                     (setq pces-modules (cons 'pces-e20_2 pces-modules)))
63                 )
64                (t
65                 ;; for MULE 1.* and 2.*
66                 (setq pces-modules (cons 'pces-om pces-modules))
67                 )))
68         ((boundp 'NEMACS)
69          ;; for Nemacs and Nepoch
70          (setq pces-modules (cons 'pces-nemacs pces-modules))
71          )
72         (t
73          (setq pces-modules (cons 'pces-raw pces-modules))
74          ))
75   (cond ((featurep 'mule)
76          (cond ((featurep 'xemacs)
77                 (setq poem-modules (cons 'poem-xm poem-modules)
78                       mcs-modules (cons 'mcs-xm (cons 'mcs-20 mcs-modules)))
79                 (if (null (featurep 'utf-2000))
80                     (setq mcs-modules (cons 'mcs-xmu mcs-modules)))
81                 (if (>= emacs-major-version 21)
82                     (setq pccl-modules (cons 'pccl-20 pccl-modules))
83                   ))
84                ((>= emacs-major-version 20)
85                 (setq poem-modules (cons 'poem-e20 poem-modules)
86                       mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
87                       pccl-modules (cons 'pccl-20 pccl-modules))
88                 (setq poem-modules
89                       (cons
90                        (if (and
91                             (fboundp 'set-buffer-multibyte)
92                             (subrp (symbol-function 'set-buffer-multibyte)))
93                            'poem-e20_3
94                          'poem-e20_2)
95                        poem-modules))
96                 )
97                (t
98                 (setq poem-modules (cons 'poem-om poem-modules)
99                       mcs-modules (cons 'mcs-om mcs-modules)
100                       pccl-modules (cons 'pccl-om pccl-modules)
101                       emu-modules (cons 'emu-mule emu-modules))
102                 ))
103          )
104         ((boundp 'NEMACS)
105          (setq poem-modules (cons 'poem-nemacs poem-modules)
106                mcs-modules (cons 'mcs-nemacs mcs-modules))
107          )
108         (t
109          (setq poem-modules (cons 'poem-ltn1 poem-modules)
110                mcs-modules (cons 'mcs-ltn1 mcs-modules))
111          ))
112
113   (setq emu-modules (append poe-modules
114                             pces-modules poem-modules
115                             mcs-modules invisible-modules
116                             pccl-modules pcustom-modules
117                             emu-modules))
118
119   (setq emu-modules (cons 'broken emu-modules))
120   (setq emu-modules (cons 'static emu-modules))
121   )
122
123 ;;; EMU-ELS ends here