* WL-MK: (byte-compile-file-form-custom-declare-variable): Define function if
authoryamaoka <yamaoka>
Fri, 13 Oct 2000 12:39:02 +0000 (12:39 +0000)
committeryamaoka <yamaoka>
Fri, 13 Oct 2000 12:39:02 +0000 (12:39 +0000)
bytecomp doesn't have it; warn if "new custom" isn't detected; don't require
`backquote' because it's always autoloaded.

ChangeLog
WL-MK

index d3218ec..18b0576 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2000-10-13  Katsumi Yamaoka    <yamaoka@jpl.org>
+
+       * WL-MK: (byte-compile-file-form-custom-declare-variable): Define
+       function if bytecomp doesn't have it; warn if "new custom" isn't
+       detected; don't require `backquote' because it's always autoloaded.
+
 2000-10-10  TAKAHASHI Kaoru  <kaoru@kaisei.org>
 
        * WL-ELS (WL-MODULES): Add wl-version.
diff --git a/WL-MK b/WL-MK
index 8904f92..839d122 100644 (file)
--- a/WL-MK
+++ b/WL-MK
 (condition-case () (require 'custom) (error nil))
 ;; for wl-vars.el
 (unless (and (fboundp 'defgroup)
-             (fboundp 'defcustom)
-             ;; ignore broken module
-             (not (featurep 'tinycustom)))
-  (require 'backquote)
+            (fboundp 'defcustom)
+            ;; ignore broken module
+            (not (featurep 'tinycustom)))
+  (when (and (boundp 'emacs-major-version)
+            (eq emacs-major-version 19)
+            (>= emacs-minor-version 29))
+    (message "%s" "
+  Warning: You don't seem to have \"new custom\" package installed.
+  It is recommended to use it if you are using old Emacs, such as
+  Mule 2.3.  Get it from  http://www.dina.kvl.dk/~abraham/custom/
+  and then apply the patch which is included in README file of APEL
+  package.
+"))
   (defmacro defgroup (&rest args))
   (defmacro defcustom (symbol value &optional doc &rest args)
     (let ((doc (concat "*" (or doc ""))))
-      (` (defvar (, symbol) (, value) (, doc)))))
-  )
+      (` (defvar (, symbol) (, value) (, doc))))))
+
+(require 'bytecomp)
+(unless (fboundp 'byte-compile-file-form-custom-declare-variable)
+  ;; Bind defcustom'ed variables.
+  (put 'custom-declare-variable 'byte-hunk-handler
+       'byte-compile-file-form-custom-declare-variable)
+  (defun byte-compile-file-form-custom-declare-variable (form)
+    (if (memq 'free-vars byte-compile-warnings)
+       (setq byte-compile-bound-variables
+             (cons (nth 1 (nth 1 form)) byte-compile-bound-variables)))
+    form))
 
 (setq byte-compile-warnings '(free-vars unresolved callargs redefine))