Header fix.
[elisp/apel.git] / EMU-ELS
diff --git a/EMU-ELS b/EMU-ELS
index 3ffe0d1..a6ceb82 100644 (file)
--- a/EMU-ELS
+++ b/EMU-ELS
@@ -5,39 +5,92 @@
 ;;; Code:
 
 (setq emu-modules (cons 'emu
-                       (if (or running-emacs-19_29-or-later
-                               running-xemacs-19_14-or-later)
+                       (if (if (featurep 'xemacs)
+                               ;; running-xemacs-19_14-or-later
+                               (or (>= emacs-major-version 20)
+                                   (and (= emacs-major-version 19)
+                                        (>= emacs-minor-version 14)))
+                             ;; running-emacs-19_29-or-later
+                             (or (>= emacs-major-version 20)
+                                 (and (= emacs-major-version 19)
+                                      (>= emacs-minor-version 29))))
                            '(richtext)
-                         '(tinyrich)
-                         )))
+                         '(tinyrich))))
+
+(setq emu-modules-to-compile nil)
+
+(setq emu-modules-not-to-compile nil)
+
+(setq pcustom-modules (if (and (module-installed-p 'custom)
+                              ;; new custom requires widget.
+                              (module-installed-p 'widget))
+                         '(pcustom)
+                       ;; XXX: order is significant in current make process.
+                       '(tinycustom pcustom)))
 
 (let ((poe-modules '(poe))
+      (pces-modules '(pces))
       (poem-modules '(poem))
       (mcs-modules '(mcharset))
-      pccl-modules)
-  (setq poe-modules (cons (cond ((featurep 'xemacs)
-                                'poe-xemacs)
-                               ((>= emacs-major-version 19)
-                                'poe-19)
-                               (t
-                                'poe-18))
-                         poe-modules))
-  
+      (invisible-modules '(invisible))
+      (pccl-modules '(pccl)))
+  (cond ((featurep 'xemacs)
+        (setq poe-modules (cons 'poe-xemacs poe-modules)
+              invisible-modules (cons 'inv-xemacs invisible-modules))
+        )
+       ((>= emacs-major-version 19)
+        (setq invisible-modules (cons 'inv-19 invisible-modules))
+        (if (and (= emacs-major-version 19)
+                 (<= emacs-minor-version 28))
+            (setq poe-modules (cons 'localhook poe-modules))
+          )
+        )
+       (t
+        (setq poe-modules (cons 'env (cons 'poe-18 (cons 'localhook poe-modules)))
+              invisible-modules (cons 'inv-18 invisible-modules))
+        ))
+  (cond ((featurep 'xemacs)
+        (if (featurep 'file-coding)
+            (setq pces-modules (cons 'pces-xfc (cons 'pces-20 pces-modules)))
+          )
+        (if (featurep 'mule)
+            (setq pces-modules (cons 'pces-xm pces-modules))
+          (setq pces-modules (cons 'pces-raw pces-modules))
+          ))
+       ((featurep 'mule)
+        (cond ((>= emacs-major-version 20)
+               (setq pces-modules
+                     (cons 'pces-e20 (cons 'pces-20 pces-modules)))
+               (or (and (fboundp 'set-buffer-multibyte)
+                        (subrp (symbol-function 'set-buffer-multibyte)))
+                   (setq pces-modules (cons 'pces-e20_2 pces-modules)))
+               )
+              (t
+               ;; for MULE 1.* and 2.*
+               (setq pces-modules (cons 'pces-om pces-modules))
+               )))
+       ((boundp 'NEMACS)
+        ;; for Nemacs and Nepoch
+        (setq pces-modules (cons 'pces-nemacs pces-modules))
+        )
+       (t
+        (setq pces-modules (cons 'pces-raw pces-modules))
+        ))
   (cond ((featurep 'mule)
         (cond ((featurep 'xemacs)
-               (setq poem-modules (cons 'poem-xm (cons 'poem-20
-                                                       poem-modules))
-                     mcs-modules (cons 'mcs-xm (cons 'mcs-20 mcs-modules)))
+               (setq poem-modules (cons 'poem-xm poem-modules)
+                     mcs-modules (append '(mcs-xmu mcs-xm mcs-20)
+                                         mcs-modules))
+               (if (featurep 'utf-2000)
+                   (setq emu-modules-not-to-compile
+                         (cons 'mcs-xmu emu-modules-not-to-compile)))
                (if (>= emacs-major-version 21)
-                   (setq pccl-modules '(pccl-20 pccl))
-                 )
-               )
+                   (setq pccl-modules (cons 'pccl-20 pccl-modules))
+                 ))
               ((>= emacs-major-version 20)
-               (setq poem-modules (cons 'poem-e20 (cons 'poem-20
-                                                        poem-modules))
-                     mcs-modules (cons 'mcs-e20 (cons 'mcs-20
-                                                      mcs-modules))
-                     pccl-modules '(pccl-20 pccl))
+               (setq poem-modules (cons 'poem-e20 poem-modules)
+                     mcs-modules (cons 'mcs-e20 (cons 'mcs-20 mcs-modules))
+                     pccl-modules (cons 'pccl-20 pccl-modules))
                (setq poem-modules
                      (cons
                       (if (and
               (t
                (setq poem-modules (cons 'poem-om poem-modules)
                      mcs-modules (cons 'mcs-om mcs-modules)
-                     pccl-modules '(pccl-om pccl)
+                     pccl-modules (cons 'pccl-om pccl-modules)
                      emu-modules (cons 'emu-mule emu-modules))
                ))
         )
         (setq poem-modules (cons 'poem-ltn1 poem-modules)
               mcs-modules (cons 'mcs-ltn1 mcs-modules))
         ))
-  
-  (setq emu-modules (append poe-modules poem-modules
-                           mcs-modules pccl-modules
+
+  (setq emu-modules (append poe-modules
+                           pces-modules poem-modules
+                           mcs-modules invisible-modules
+                           pccl-modules pcustom-modules
                            emu-modules))
+
   (setq emu-modules (cons 'broken emu-modules))
+  (setq emu-modules (cons 'static emu-modules))
   )
 
+(let ((modules emu-modules)
+      module)
+  (while modules
+    (setq module (car modules)
+         modules (cdr modules))
+    (if (memq module emu-modules-not-to-compile)
+       nil
+      (setq emu-modules-to-compile (nconc emu-modules-to-compile
+                                         (list module))))))
+
 ;;; EMU-ELS ends here