* EMU-ELS (pces-modules): Add `pces-raw' if file-coding feature is
[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            (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 (>= emacs-major-version 21)
80                     (setq pccl-modules (cons 'pccl-20 pccl-modules))
81                   ))
82                ((>= emacs-major-version 20)
83                 (setq poem-modules (cons 'poem-e20 poem-modules)
84                       mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
85                       pccl-modules (cons 'pccl-20 pccl-modules))
86                 (setq poem-modules
87                       (cons
88                        (if (and
89                             (fboundp 'set-buffer-multibyte)
90                             (subrp (symbol-function 'set-buffer-multibyte)))
91                            'poem-e20_3
92                          'poem-e20_2)
93                        poem-modules))
94                 )
95                (t
96                 (setq poem-modules (cons 'poem-om poem-modules)
97                       mcs-modules (cons 'mcs-om mcs-modules)
98                       pccl-modules (cons 'pccl-om pccl-modules)
99                       emu-modules (cons 'emu-mule emu-modules))
100                 ))
101          )
102         ((boundp 'NEMACS)
103          (setq poem-modules (cons 'poem-nemacs poem-modules)
104                mcs-modules (cons 'mcs-nemacs mcs-modules))
105          )
106         (t
107          (setq poem-modules (cons 'poem-ltn1 poem-modules)
108                mcs-modules (cons 'mcs-ltn1 mcs-modules))
109          ))
110
111   (setq emu-modules (append poe-modules
112                             pces-modules poem-modules
113                             mcs-modules invisible-modules
114                             pccl-modules pcustom-modules
115                             emu-modules))
116
117   (setq emu-modules (cons 'broken emu-modules))
118   (setq emu-modules (cons 'static emu-modules))
119   )
120
121 ;;; EMU-ELS ends here