;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
(autoload 'customize-save-variable "cus-edit" nil t)
(autoload 'customize-set-variable "cus-edit" nil t)
(autoload 'customize-variable "cus-edit" nil t)
+ (if (featurep 'mule)
+ (unless (locate-library "mule-ccl")
+ (autoload 'define-ccl-program "ccl" nil nil 'macro))
+ (defalias 'define-ccl-program 'ignore))
(autoload 'delete-annotation "annotations")
(autoload 'dolist "cl-macs" nil nil 'macro)
(autoload 'enriched-decode "enriched")
(defalias 'replace-highlight 'ignore)
(defalias 'w3-coding-system-for-mime-charset 'ignore)))
+(defun dgnushack-emacs-compile-defcustom-p ()
+ "Return non-nil if Emacs byte compiles `defcustom' forms.
+Those Emacsen will warn against undefined variables and functions used
+in `defcustom' forms."
+ (let ((outbuf (with-temp-buffer
+ (insert "(defcustom foo (1+ (random)) \"\" :group 'emacs)\n")
+ (byte-compile-from-buffer (current-buffer) "foo.el"))))
+ (when outbuf
+ (prog1
+ (with-current-buffer outbuf
+ (goto-char (point-min))
+ (search-forward " 'foo '(byte-code " nil t))
+ (kill-buffer outbuf)))))
+
+(when (dgnushack-emacs-compile-defcustom-p)
+ (maybe-fbind '(defined-colors face-attribute))
+ (maybe-bind '(idna-program installation-directory)))
+
(defun dgnushack-compile-verbosely ()
"Call dgnushack-compile with warnings ENABLED. If you are compiling
patches to gnus, you should consider modifying make.bat to call