Silence the byte compiler
[gnus] / lisp / dgnushack.el
index 987bb28..174aab8 100644 (file)
@@ -1,5 +1,5 @@
 ;;; dgnushack.el --- a hack to set the load path for byte-compiling
-;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Version: 4.19
@@ -18,9 +18,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -28,6 +26,9 @@
 
 (defvar dgnushack-default-load-path (copy-sequence load-path))
 
+(unless (fboundp 'declare-function)
+  (defmacro declare-function (&rest r)))
+
 (defalias 'facep 'ignore)
 
 (require 'cl)
 (if (my-getenv "lispdir")
     (push (my-getenv "lispdir") load-path))
 
-(push (or (my-getenv "URLDIR") (expand-file-name "../../url/lisp/" loaddir))
-      load-path)
-
-(push (or (my-getenv "W3DIR") (expand-file-name "../../w3/lisp/" loaddir))
-      load-path)
-
 ;(push "/usr/share/emacs/site-lisp" load-path)
 
-;; If we are building w3 in a different directory than the source
+;; If we are building Gnus in a different directory than the source
 ;; directory, we must read *.el from source directory and write *.elc
 ;; into the building directory.  For that, we define this function
 ;; before loading bytecomp.  Bytecomp doesn't overwrite this function.
 
 (eval-and-compile
   (when (featurep 'xemacs)
+    (defvar window-point-insertion-type nil)
     (unless (fboundp 'defadvice)
       (autoload 'defadvice "advice" nil nil 'macro))
     (unless (boundp 'help-echo-owns-message)
       (defvar help-echo-owns-message))
+    (unless (boundp 'gnus-registry-enabled)
+      (defvar gnus-registry-enabled nil))
+    (unless (boundp 'mail-dont-reply-to-names)
+      (defvar mail-dont-reply-to-names nil))
     (unless (fboundp 'url-retrieve-synchronously)
       (defalias 'url-retrieve-synchronously 'url-retrieve))
     (unless (fboundp 'url-queue-retrieve)
-      (defun url-queue-retrieve (url callback &optional cbargs silent)
+      (defun url-queue-retrieve (url callback &optional cbargs silent
+                                    inhibit-cookies)
        (url-retrieve url callback cbargs)))
+    (unless (boundp 'w3-configuration-directory)
+      (setq w3-configuration-directory "~/.w3/"))
     (autoload 'Info-directory "info" nil t)
     (autoload 'Info-index "info" nil t)
     (autoload 'Info-index-next "info" nil t)
     (autoload 'mail-fetch-field "mail-utils")
     (autoload 'make-annotation "annotations")
     (autoload 'make-display-table "disp-table")
-    (autoload 'pgg-snarf-keys-region "pgg" nil t)
     (autoload 'pp "pp")
     (autoload 'ps-despool "ps-print" nil t)
     (autoload 'ps-spool-buffer "ps-print" nil t)
     (autoload 'toggle-truncate-lines "view-less" nil t)
     (autoload 'trace-function-background "trace" nil t)
     (autoload 'unmorse-region "morse" nil t)
-    (autoload 'w3-do-setup "w3")
-    (autoload 'w3-prepare-buffer "w3-display")
-    (autoload 'w3-region "w3-display" nil t)
     (defalias 'frame-char-height 'frame-height)
     (defalias 'frame-char-width 'frame-width)
     (defalias 'frame-parameter 'frame-property)
     (defalias 'replace-highlight 'ignore)
     (defalias 'gnutls-available-p 'ignore)
     (defvar timer-list nil)
-    (defalias 'w3-coding-system-for-mime-charset 'ignore)))
+    (defvar scroll-margin 0)))
 
 (defun dgnushack-emacs-compile-defcustom-p ()
   "Return non-nil if Emacs byte compiles `defcustom' forms.
@@ -303,12 +302,6 @@ This means that every warning will be reported as an error."
       (setq files (delete file files)))
     (when (featurep 'base64)
       (setq files (delete "base64.el" files)))
-    (condition-case code
-       (require 'w3-parse)
-      (error
-       (message "No w3: %s %s" (cadr code) (or (locate-library "w3-parse") ""))
-       (dolist (file '("webmail.el" "nnwfm.el"))
-        (setq files (delete file files)))))
     (condition-case code
        ;; Under XEmacs 21.4 this loads easy-mmode.elc that provides
        ;; the Emacs functions `propertize' and `replace-regexp-in-string'.
@@ -330,11 +323,17 @@ This means that every warning will be reported as an error."
                 ;; lpath.el binds it.
                 (not (eq (symbol-function 'libxml-parse-html-region)
                          'ignore)))
-      (dolist (file '("color.el" "shr-color.el" "shr.el"))
+      (dolist (file '("color.el"))
        (setq files (delete file files))))
     (unless (locate-library "epg")
       (setq files (delete "plstore.el" files)))
-
+    ;; Temporary code until we fix pcase and defmethod stuff.
+    (when (or (featurep 'xemacs)
+             (or (< emacs-major-version 24)
+                 (< emacs-minor-version 3)))
+      (setq files (delete "gnus-icalendar.el" files))
+      ;; Temporary during development.
+      (setq files (delete "gnus-cloud.el" files)))
     (dolist (file files)
       (setq file (expand-file-name file srcdir))
       (when (and (file-exists-p
@@ -557,8 +556,30 @@ This is to be used around code which is not expected to signal an error
 but which should be robust in the unexpected case that an error is signaled."
     (declare (debug t) (indent 0))
     (let ((err (make-symbol "err")))
-      `(condition-case-no-debug ,err
+      `(condition-case ,err
           (progn ,@body)
         (error (message "Error: %S" ,err) nil)))))
 
+;; XEmacs's `define-obsolete-variable-alias' takes only two arguments:
+;; (define-obsolete-variable-alias OLDVAR NEWVAR)
+(condition-case nil
+    (progn
+      (defvar dgnushack-obsolete-name nil)
+      (defvar dgnushack-current-name nil)
+      (unwind-protect
+         (define-obsolete-variable-alias
+           'dgnushack-obsolete-name 'dgnushack-current-name "0")
+       (makunbound 'dgnushack-obsolete-name)
+       (makunbound 'dgnushack-current-name)))
+  (wrong-number-of-arguments
+   (defadvice define-obsolete-variable-alias (around ignore-rest-args
+                                                    (oldvar newvar &rest args)
+                                                    activate)
+     "Ignore arguments other than the 1st and the 2nd ones."
+     ad-do-it)
+   (put 'define-obsolete-variable-alias 'byte-optimizer
+       (lambda (form)
+         (setcdr (nthcdr 2 form) nil)
+         form))))
+
 ;;; dgnushack.el ends here