(article-transform-date): Fix infinite recursion.
[gnus] / lisp / dgnushack.el
index 48545eb..62af7f4 100644 (file)
@@ -1,7 +1,5 @@
 ;;; dgnushack.el --- a hack to set the load path for byte-compiling
-;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
-;; 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;;        Free Software Foundation, Inc.
+;; Copyright (C) 1994-2011 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Version: 4.19
 (defalias 'facep 'ignore)
 
 (require 'cl)
+(require 'iswitchb)
+
+(condition-case nil
+    (require 'org-entities)
+  (error nil))
 
 (defvar srcdir (or (getenv "srcdir") "."))
 (defvar loaddir (and load-file-name (file-name-directory load-file-name)))
   (unless (featurep 'xemacs)
     (defalias 'get-popup-menu-response 'ignore)
     (defalias 'event-object 'ignore)
+    (autoload 'iswitchb-read-buffer "iswitchb")
     (autoload 'netrc-credentials "netrc")
     (defalias 'x-defined-colors 'ignore)
     (defalias 'read-color 'ignore)))
     (autoload 'read-passwd "passwd")
     (autoload 'regexp-opt "regexp-opt")
     (autoload 'reporter-submit-bug-report "reporter")
+    (if (condition-case nil
+           (progn
+             (require 'rot13)
+             (not (fboundp 'rot13-string)))
+         (error nil))
+       (defmacro rot13-string (string)
+         "Return ROT13 encryption of STRING."
+         `(let ((string ,string))
+            (with-temp-buffer
+              (insert string)
+              (translate-region (point-min) (point-max) ,rot13-display-table)
+              (buffer-string)))))
     (if (and (emacs-version>= 21 5)
             (not (featurep 'sxemacs)))
        (autoload 'setenv "process" nil t)
@@ -234,6 +250,16 @@ in `defcustom' forms."
   (maybe-fbind '(defined-colors face-attribute))
   (maybe-bind '(idna-program installation-directory)))
 
+(when (featurep 'xemacs)
+  (defadvice byte-optimize-apply (before use-mapcan (form) activate)
+    "Replace (apply 'nconc (mapcar ...)) with (mapcan ...)."
+    (let ((last (nth (1- (length form)) form)))
+      (when (and (eq last (third form))
+                (consp last)
+                (eq 'mapcar (car last))
+                (equal (nth 1 form) ''nconc))
+       (setq form (cons 'mapcan (cdr last)))))))
+
 (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
@@ -280,6 +306,11 @@ dgnushack-compile."
                 '("md5.el")
               '("gnus-xmas.el" "messagexmas.el" "nnheaderxm.el")))
       (setq files (delete file files)))
+    (unless (and (fboundp 'libxml-parse-html-region)
+                ;; lpath.el binds it.
+                (not (eq (symbol-function 'libxml-parse-html-region)
+                         'ignore)))
+      (setq files (delete "shr-color.el" (delete "shr.el" files))))
 
     (dolist (file files)
       (setq file (expand-file-name file srcdir))