Fix XEmacs compilation
[gnus] / lisp / gnus.el
index 358cbf9..605882c 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus.el --- a newsreader for GNU Emacs
 
-;; Copyright (C) 1987-1990, 1993-1998, 2000-2013 Free Software
+;; Copyright (C) 1987-1990, 1993-1998, 2000-2014 Free Software
 ;; Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 
 (eval '(run-hooks 'gnus-load-hook))
 
-;; For Emacs <22.2 and XEmacs.
-(eval-and-compile
-  (unless (fboundp 'declare-function) (defmacro declare-function (&rest r))))
-
 (eval-when-compile (require 'cl))
 (require 'wid-edit)
 (require 'mm-util)
@@ -294,7 +290,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.8"
+(defconst gnus-version-number "0.12"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Ma Gnus v%s" gnus-version-number)
@@ -309,6 +305,7 @@ be set in `.emacs' instead."
 
 (unless (featurep 'gnus-xmas)
   (defalias 'gnus-make-overlay 'make-overlay)
+  (defalias 'gnus-copy-overlay 'copy-overlay)
   (defalias 'gnus-delete-overlay 'delete-overlay)
   (defalias 'gnus-overlay-get 'overlay-get)
   (defalias 'gnus-overlay-put 'overlay-put)
@@ -316,6 +313,7 @@ be set in `.emacs' instead."
   (defalias 'gnus-overlay-buffer 'overlay-buffer)
   (defalias 'gnus-overlay-start 'overlay-start)
   (defalias 'gnus-overlay-end 'overlay-end)
+  (defalias 'gnus-overlays-at 'overlays-at)
   (defalias 'gnus-overlays-in 'overlays-in)
   (defalias 'gnus-extent-detached-p 'ignore)
   (defalias 'gnus-extent-start-open 'ignore)
@@ -328,8 +326,9 @@ be set in `.emacs' instead."
   (if (fboundp 'find-image)
       (defun gnus-mode-line-buffer-identification (line)
        (let ((str (car-safe line))
-             (load-path (mm-image-load-path)))
-         (if (and (stringp str)
+             (load-path (append (mm-image-load-path) load-path)))
+         (if (and (display-graphic-p)
+                  (stringp str)
                   (string-match "^Gnus:" str))
              (progn (add-text-properties
                      0 5
@@ -1614,7 +1613,7 @@ slower."
   :type 'string)
 
 (defcustom gnus-valid-select-methods
-  '(("nntp" post address prompt-address physical-address)
+  '(("nntp" post address prompt-address physical-address cloud)
     ("nnspool" post address)
     ("nnvirtual" post-mail virtual prompt-address)
     ("nnmbox" mail respool address)
@@ -1631,7 +1630,7 @@ slower."
     ("nnrss" none global)
     ("nnagent" post-mail)
     ("nnimap" post-mail address prompt-address physical-address respool
-     server-marks)
+     server-marks cloud)
     ("nnmaildir" mail respool address server-marks)
     ("nnnil" none))
   "*An alist of valid select methods.
@@ -1649,6 +1648,7 @@ this variable.  I think."
                                             (const post-mail))
                        (checklist :inline t :greedy t
                                   (const :format "%v " address)
+                                  (const global)
                                   (const :format "%v " prompt-address)
                                   (const :format "%v " physical-address)
                                   (const virtual)
@@ -2687,7 +2687,6 @@ such as a mark that says whether an article is stored in the cache
     (gnus-tree-mode "(gnus)Tree Display"))
   "Alist of major modes and related Info nodes.")
 
-(defvar gnus-group-buffer "*Group*")
 (defvar gnus-summary-buffer "*Summary*")
 (defvar gnus-article-buffer "*Article*")
 (defvar gnus-server-buffer "*Server*")
@@ -2703,7 +2702,10 @@ such as a mark that says whether an article is stored in the cache
                        gnus-newsrc-last-checked-date
                        gnus-newsrc-alist gnus-server-alist
                        gnus-killed-list gnus-zombie-list
-                       gnus-topic-topology gnus-topic-alist)
+                       gnus-topic-topology gnus-topic-alist
+                       gnus-cloud-sequence
+                       gnus-cloud-covered-servers
+                       gnus-cloud-file-timestamps)
   "Gnus variables saved in the quick startup file.")
 
 (defvar gnus-newsrc-alist nil
@@ -3034,7 +3036,7 @@ See Info node `(gnus)Formatting Variables'."
 
 (defun gnus-suppress-keymap (keymap)
   (suppress-keymap keymap)
-  (let ((keys `([backspace] [delete] "\177" "\M-u"))) ;gnus-mouse-2
+  (let ((keys `([delete] "\177" "\M-u"))) ;gnus-mouse-2
     (while keys
       (define-key keymap (pop keys) 'undefined))))
 
@@ -3229,10 +3231,6 @@ If ARG, insert string at point."
 
 (defun gnus-continuum-version (&optional version)
   "Return VERSION as a floating point number."
-  (string-to-number (gnus-continuum-version-1 (or version gnus-version))))
-
-(defun gnus-continuum-version-1 (&optional version)
-  "Return VERSION as a string."
   (unless version
     (setq version gnus-version))
   (when (or (string-match "^\\([^ ]+\\)? ?Gnus v?\\([0-9.]+\\)$" version)
@@ -3248,21 +3246,18 @@ If ARG, insert string at point."
            least (if (match-beginning 3)
                      (string-to-number (match-string 3 number))
                    0))
-      (gnus-replace-in-string
+      (string-to-number
        (if (zerop major)
-          (progn
-            (setq major
-                  (if (member alpha '("(ding)" "d"))
-                      499
-                    (+ 500 (* 2
+            (format "%1.2f00%02d%02d"
+                    (if (member alpha '("(ding)" "d"))
+                        4.99
+                      (+ 5 (* 0.02
                               (abs
                                (- (mm-char-int (aref (downcase alpha) 0))
                                   (mm-char-int ?t))))
-                       -1)))
-            (format "%s.%s00%02d%02d"
-                    (/ major 100) (% major 100) minor least))
-        (format "%d.%02d%02d" major minor least))
-       "0+\\'" ""))))
+                         -0.01))
+                    minor least)
+        (format "%d.%02d%02d" major minor least))))))
 
 (defun gnus-info-find-node (&optional nodename)
   "Find Info documentation of Gnus."