* configure.ac: Generate lisp/riece-package-info.el.
[riece] / lisp / riece-version.el
index 5cd7a89..49fb1fb 100644 (file)
@@ -1,4 +1,4 @@
-;;; riece-version.el --- version information about Riece
+;;; riece-version.el --- version information handling
 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
 ;;        Free Software Foundation, Inc.
 ;; Copyright (C) 1998-2003 Daiki Ueno
 
 ;; 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., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Code:
 
+(require 'riece-package-info)
+
 ;; NOTE: Most part of this file is copied from Gnus.
 
 (defcustom riece-user-agent 'emacs-riece-type
@@ -46,23 +48,20 @@ string, be sure to use a valid format, see RFC 2616."
          (item :tag "Show only Riece version" riece)
          (string :tag "Other")))
 
-(defconst riece-product-name "Riece")
-
-(defconst riece-version-number "0.0.4"
-  "Version number for this version of Riece.")
-
-(defconst riece-version (format "Riece v%s" riece-version-number)
+(defconst riece-version (format "%s v%s" riece-package-name
+                               riece-version-number)
   "Version string for this version of Riece.")
 
 (eval-when-compile
-  (defvar xemacs-codename))
+  (defvar emacs-program-version)
+  (defvar xemacs-codename)
+  (defvar sxemacs-codename))
 
 (defun riece-extended-version ()
   "Stringified Riece version and Emacs version.
 See the variable `riece-user-agent'."
-  (interactive)
   (let* ((riece-v
-         (concat riece-product-name "/"
+         (concat riece-package-name "/"
                  (prin1-to-string riece-version-number t)))
         (system-v
          (cond
@@ -80,22 +79,20 @@ See the variable `riece-user-agent'."
                    (if system-v
                        (concat " (" system-v ")")
                      "")))
-          ((string-match
-            "\\([A-Z]*[Mm][Aa][Cc][Ss]\\)[^(]*\\(\\((beta.*)\\|'\\)\\)?"
-            emacs-version)
-           (concat
-            (match-string 1 emacs-version)
-            (format "/%d.%d" emacs-major-version emacs-minor-version)
-            (if (match-beginning 3)
-                (match-string 3 emacs-version)
-              "")
-            (if (boundp 'xemacs-codename)
-                (concat
-                 " (" xemacs-codename
-                 (if system-v
-                     (concat ", " system-v ")")
-                   ")"))
-              "")))
+          ((featurep 'sxemacs)
+           (concat "SXEmacs/" emacs-program-version
+                   (when system-v
+                     (concat " ("
+                             (when sxemacs-codename
+                               (concat sxemacs-codename ", "))
+                             system-v ")"))))
+          ((featurep 'xemacs)
+           (concat "XEmacs/" emacs-program-version
+                   (when system-v
+                     (concat " ("
+                             (when xemacs-codename
+                               (concat xemacs-codename ", "))
+                             system-v ")"))))
           (t emacs-version))))
     (if (stringp riece-user-agent)
        riece-user-agent
@@ -103,6 +100,14 @@ See the variable `riece-user-agent'."
              (when emacs-v
                (concat " " emacs-v))))))
 
+(defun riece-version (&optional arg)
+  "Version number of this version of Riece.
+If ARG, use user-agent format."
+  (interactive "P")
+  (if arg
+      (message "%s" (riece-extended-version))
+    (message "%s" riece-version)))
+
 (provide 'riece-version)
 
 ;;; riece-version.el ends here