* dgnushack.el (dgnushack-compile): Allow building on Emacs 23.
[gnus] / lisp / dgnushack.el
index c5723d4..fb638f7 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-2013 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:
 
 (defalias 'efs-re-read-dir 'ignore)
 (defalias 'ange-ftp-re-read-dir 'ignore)
 (defalias 'define-mail-user-agent 'ignore)
+(defalias 'debbugs-gnu-summary-mode 'ignore)
+(defvar debbugs-gnu-bug-number nil)
 
 (eval-and-compile
   (unless (featurep 'xemacs)
 
 (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)))
     (autoload 'Info-directory "info" nil t)
     (autoload 'Info-index "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)
     (defalias 'replace-highlight 'ignore)
     (defalias 'gnutls-available-p 'ignore)
     (defvar timer-list nil)
+    (defvar scroll-margin 0)
     (defalias 'w3-coding-system-for-mime-charset 'ignore)))
 
 (defun dgnushack-emacs-compile-defcustom-p ()
@@ -328,11 +334,13 @@ 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 (featurep 'xemacs)
+      (setq files (delete "gnus-icalendar.el" files)))
     (dolist (file files)
       (setq file (expand-file-name file srcdir))
       (when (and (file-exists-p
@@ -547,4 +555,38 @@ or remove them using `make remove-installed-shadows'.\n\n"))))))))
              (error (princ "failed\n")))))
        (setq path (cdr path))))))
 
+(unless (fboundp 'with-demoted-errors)
+  (defmacro with-demoted-errors (&rest body)
+    "Run BODY and demote any errors to simple messages.
+If `debug-on-error' is non-nil, run BODY without catching its errors.
+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 ,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