1 ;;; EMU-ELS --- list of EMU modules to install -*-Emacs-Lisp-*-
5 ;; APEL-MK imports `emu-modules' and `emu-modules-to-compile' from here.
9 (defvar emu-modules-not-to-compile nil)
10 (defvar emu-modules-to-compile nil)
12 ;; We use compile-time evaluation heavily. So, order of compilation is
13 ;; very significant. For example, loading some module before compiling
14 ;; it will cause "compile-time" evaluation many times.
17 ;; modules are sorted by compilation order.
22 ;; poe modules; poe modules depend on static.
27 ;; Emacs 19.29 and earlier. (yes, includes Emacs 19.29.)
28 ((and (= emacs-major-version 19)
29 (<= emacs-minor-version 29))
31 ;; Emacs 19.30 and later.
32 ((>= emacs-major-version 19)
36 '(localhook env poe-18 poe)))
38 ;; pcustom modules; pcustom modules depend on poe.
39 (if (and (module-installed-p 'custom)
40 ;; new custom requires widget.
41 (module-installed-p 'widget))
42 ;; if both 'custom and 'widget are found, we have new custom.
44 ;; pcustom does (require 'custom) at compile-time, and tinycustom
45 ;; need to test existence of some custom macros at compile-time!
46 ;; so, we must compile tinycustom first.
47 '(tinycustom pcustom))
49 ;; pccl modules; pccl modules depend on broken.
54 ((and (featurep 'xemacs)
55 (>= emacs-major-version 21))
58 ((>= emacs-major-version 20)
64 ;; pces modules; pces modules depend on poe.
70 ;; pces-xfc depends pces-20, so we compile pces-20 first.
71 '(pces-20 pces-xm pces-xfc pces))
72 ((featurep 'file-coding)
73 ;; XEmacs w/ file-coding.
74 ;; pces-xfc depends pces-20, so we compile pces-20 first.
75 '(pces-20 pces-xfc pces))
80 ;; Emacs 20.3 and later.
81 ((and (fboundp 'set-buffer-multibyte)
82 (subrp (symbol-function 'set-buffer-multibyte)))
83 ;; pces-e20 depends pces-20, so we compile pces-20 first.
84 '(pces-20 pces-e20 pces))
85 ;; Emacs 20.1 and 20.2.
86 ((= emacs-major-version 20)
87 ;; pces-e20 depends pces-20, so we compile pces-20 first.
88 '(pces-20 pces-e20_2 pces-e20 pces))
98 ;; poem modules; poem modules depend on pces.
105 ((>= emacs-major-version 20)
106 (if (and (fboundp 'set-buffer-multibyte)
107 (subrp (symbol-function 'set-buffer-multibyte)))
108 ;; Emacs 20.3 and later.
109 '(poem-e20_3 poem-e20 poem)
110 ;; Emacs 20.1 and 20.2.
111 '(poem-e20_2 poem-e20 poem)))
120 ;; mcharset modules; mcharset modules depend on poem and pcustom.
126 (if (featurep 'utf-2000)
127 ;; XEmacs w/ UTF-2000.
128 (setq emu-modules-not-to-compile
129 (cons 'mcs-xmu emu-modules-not-to-compile)))
130 ;; mcs-xm depends mcs-20, so we compile mcs-20 first.
131 '(mcs-20 mcs-xmu mcs-xm mcharset))
132 ((>= emacs-major-version 20)
133 ;; Emacs 20 and later.
134 ;; mcs-e20 depends mcs-20, so we compile mcs-20 first.
135 '(mcs-20 mcs-e20 mcharset))
138 '(mcs-om mcharset))))
141 '(mcs-nemacs mcharset))
143 '(mcs-ltn1 mcharset)))
145 ;; mule-caesar.el; part of apel-modules, but it is version-dependent.
148 ;; time-stamp.el; First appeared in Emacs 19.16.
149 ;; XXX: is this intended to include XEmacs ? FIXME!
150 (if (or (< emacs-major-version 19)
151 (and (= emacs-major-version 19)
152 (< emacs-minor-version 16)))
155 ;; timezone.el; Some versions have Y2K problem.
158 ;; invisible modules; provided for backward compatibility with old "tm".
162 '(inv-xemacs invisible))
163 ((>= emacs-major-version 19)
164 ;; Emacs 19 and later.
168 '(inv-18 invisible)))
170 ;; emu modules; provided for backward compatibility with old "tm".
171 (if (and (featurep 'mule)
172 (< emacs-major-version 20))
177 ;; emu submodules; text/richtext and text/enriched support.
178 (if (if (featurep 'xemacs)
179 (or (>= emacs-major-version 20)
180 (and (= emacs-major-version 19)
181 (>= emacs-minor-version 14)))
182 (or (>= emacs-major-version 20)
183 (and (= emacs-major-version 19)
184 (>= emacs-minor-version 29))))
185 ;; XEmacs 19.14 and later, or Emacs 19.29 and later.
189 ;; Generate `emu-modules-to-compile' from `emu-modules-not-to-compile'
190 ;; and `emu-modules'.
191 (let ((modules emu-modules-not-to-compile))
192 (setq emu-modules-to-compile (copy-sequence emu-modules))
194 (setq emu-modules-to-compile (delq (car modules) emu-modules-to-compile)
195 modules (cdr modules))))
197 ;;; EMU-ELS ends here