(pces-modules): Add `pces-xfc' if the feature `mule' is provided even though
[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 (or (featurep 'mule) (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            ))
55         ((featurep 'mule)
56          (cond ((>= emacs-major-version 20)
57                 (setq pces-modules
58                       (cons 'pces-e20 (cons 'pces-20 pces-modules)))
59                 (or (and (fboundp 'set-buffer-multibyte)
60                          (subrp (symbol-function 'set-buffer-multibyte)))
61                     (setq pces-modules (cons 'pces-e20_2 pces-modules)))
62                 )
63                (t
64                 ;; for MULE 1.* and 2.*
65                 (setq pces-modules (cons 'pces-om pces-modules))
66                 )))
67         ((boundp 'NEMACS)
68          ;; for Nemacs and Nepoch
69          (setq pces-modules (cons 'pces-nemacs pces-modules))
70          )
71         (t
72          (setq pces-modules (cons 'pces-raw pces-modules))
73          ))
74   (cond ((featurep 'mule)
75          (cond ((featurep 'xemacs)
76                 (setq poem-modules (cons 'poem-xm poem-modules)
77                       mcs-modules (cons 'mcs-xm (cons 'mcs-20 mcs-modules)))
78                 (if (>= emacs-major-version 21)
79                     (setq pccl-modules (cons 'pccl-20 pccl-modules))
80                   ))
81                ((>= emacs-major-version 20)
82                 (setq poem-modules (cons 'poem-e20 poem-modules)
83                       mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
84                       pccl-modules (cons 'pccl-20 pccl-modules))
85                 (setq poem-modules
86                       (cons
87                        (if (and
88                             (fboundp 'set-buffer-multibyte)
89                             (subrp (symbol-function 'set-buffer-multibyte)))
90                            'poem-e20_3
91                          'poem-e20_2)
92                        poem-modules))
93                 )
94                (t
95                 (setq poem-modules (cons 'poem-om poem-modules)
96                       mcs-modules (cons 'mcs-om mcs-modules)
97                       pccl-modules (cons 'pccl-om pccl-modules)
98                       emu-modules (cons 'emu-mule emu-modules))
99                 ))
100          )
101         ((boundp 'NEMACS)
102          (setq poem-modules (cons 'poem-nemacs poem-modules)
103                mcs-modules (cons 'mcs-nemacs mcs-modules))
104          )
105         (t
106          (setq poem-modules (cons 'poem-ltn1 poem-modules)
107                mcs-modules (cons 'mcs-ltn1 mcs-modules))
108          ))
109
110   (setq emu-modules (append poe-modules
111                             pces-modules poem-modules
112                             mcs-modules invisible-modules
113                             pccl-modules pcustom-modules
114                             emu-modules))
115
116   (setq emu-modules (cons 'broken emu-modules))
117   (setq emu-modules (cons 'static emu-modules))
118   )
119
120 ;;; EMU-ELS ends here