:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "5.6.30"
- "Version number for this version of Gnus.")
+(defconst gnus-product-name "Semi-gnus"
+ "Product name of this version of gnus.")
-(defconst gnus-version (format "Gnus v%s" gnus-version-number)
- "Version string for this version of Gnus.")
+(defconst gnus-version-number "6.9.2"
+ "Version number for this version of gnus.")
+
+(defconst gnus-version
+ (format "%s %s (based on Gnus 5.6.45; for SEMI 1.11, FLIM 1.12)"
+ gnus-product-name gnus-version-number)
+ "Version string for this version of gnus.")
(defcustom gnus-inhibit-startup-message nil
"If non-nil, the startup message will not be displayed.
"Face used for normal interest read articles.")
+;;;
+;;; Gnus buffers
+;;;
+
+(defvar gnus-buffers nil)
+
+(defun gnus-get-buffer-create (name)
+ "Do the same as `get-buffer-create', but store the created buffer."
+ (or (get-buffer name)
+ (car (push (get-buffer-create name) gnus-buffers))))
+
+(defun gnus-add-buffer ()
+ "Add the current buffer to the list of Gnus buffers."
+ (push (current-buffer) gnus-buffers))
+
+(defun gnus-buffers ()
+ "Return a list of live Gnus buffers."
+ (while (and gnus-buffers
+ (not (buffer-name (car gnus-buffers))))
+ (pop gnus-buffers))
+ (let ((buffers gnus-buffers))
+ (while (cdr buffers)
+ (if (buffer-name (cadr buffers))
+ (pop buffers)
+ (setcdr buffers (cddr buffers)))))
+ gnus-buffers)
+
;;; Splash screen.
(defvar gnus-group-buffer "*Group*")
(defun gnus-splash ()
(save-excursion
- (switch-to-buffer (get-buffer-create gnus-group-buffer))
+ (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer))
(let ((buffer-read-only nil))
(erase-buffer)
(unless gnus-inhibit-startup-message
(eval-when (load)
(let ((command (format "%s" this-command)))
- (when (and (string-match "gnus" command)
- (not (string-match "gnus-other-frame" command)))
- (gnus-splash))))
+ (if (and (string-match "gnus" command)
+ (not (string-match "gnus-other-frame" command)))
+ (gnus-splash)
+ (gnus-get-buffer-create gnus-group-buffer))))
;;; Do the rest.
:group 'gnus-files
:group 'gnus-server
:type 'file)
-
+
;; This function is used to check both the environment variable
;; NNTPSERVER and the /etc/nntpserver file to see whether one can find
;; an nntp server name default.
(or (getenv "NNTPSERVER")
(and (file-readable-p gnus-nntpserver-file)
(save-excursion
- (set-buffer (get-buffer-create " *gnus nntp*"))
+ (set-buffer (gnus-get-buffer-create " *gnus nntp*"))
(buffer-disable-undo (current-buffer))
(insert-file-contents gnus-nntpserver-file)
(let ((name (buffer-string)))
:group 'gnus-summary-format
:type '(radio (function-item gnus-extract-address-components)
(function-item mail-extract-address-components)
+ (function-item std11-extract-address-components)
(function :tag "Other")))
(defcustom gnus-carpal nil
gnus-article-emphasize
gnus-article-fill-cited-article
gnus-article-remove-cr
- gnus-article-de-quoted-unreadable
gnus-summary-stop-page-breaking
;; gnus-summary-caesar-message
;; gnus-summary-verbose-headers
(defvar gnus-predefined-server-alist
`(("cache"
nnspool "cache"
- (nnspool-spool-directory gnus-cache-directory)
- (nnspool-nov-directory gnus-cache-directory)
+ (nnspool-spool-directory ,gnus-cache-directory)
+ (nnspool-nov-directory ,gnus-cache-directory)
(nnspool-active-file
- (nnheader-concat gnus-cache-directory "active"))))
+ ,(nnheader-concat gnus-cache-directory "active"))))
"List of predefined (convenience) servers.")
(defvar gnus-topic-indentation "") ;; Obsolete variable.
"bugs@gnus.org (The Gnus Bugfixing Girls + Boys)"
"The mail address of the Gnus maintainers.")
+(defconst semi-gnus-developers
+ "Semi-gnus Developers:
+ semi-gnus-en@meadow.scphys.kyoto-u.ac.jp (In English),\
+ semi-gnus-ja@meadow.scphys.kyoto-u.ac.jp (In Japanese);"
+ "The mail address of the Semi-gnus developers.")
+
+(defcustom gnus-info-filename nil
+ "*Controls language of gnus Info.
+If nil and current-language-environment is Japanese, go to gnus-ja.
+Otherwise go to corresponding Info.
+This variable can be nil, gnus or gnus-ja."
+ :group 'gnus-start
+ :type '(choice (const nil)
+ (const :tag "English" gnus)
+ (const :tag "Japanese" gnus-ja)))
+
(defvar gnus-info-nodes
- '((gnus-group-mode "(gnus)The Group Buffer")
- (gnus-summary-mode "(gnus)The Summary Buffer")
- (gnus-article-mode "(gnus)The Article Buffer")
- (mime/viewer-mode "(gnus)The Article Buffer")
- (gnus-server-mode "(gnus)The Server Buffer")
- (gnus-browse-mode "(gnus)Browse Foreign Server")
- (gnus-tree-mode "(gnus)Tree Display"))
+ '((gnus-group-mode "The Group Buffer")
+ (gnus-summary-mode "The Summary Buffer")
+ (gnus-article-mode "The Article Buffer")
+ (mime/viewer-mode "The Article Buffer")
+ (gnus-server-mode "The Server Buffer")
+ (gnus-browse-mode "Browse Foreign Server")
+ (gnus-tree-mode "Tree Display"))
"Alist of major modes and related Info nodes.")
(defvar gnus-group-buffer "*Group*")
(defvar gnus-article-buffer "*Article*")
(defvar gnus-server-buffer "*Server*")
-(defvar gnus-buffer-list nil
- "Gnus buffers that should be killed on exit.")
-
(defvar gnus-slave nil
"Whether this Gnus is a slave or not.")
(if (eq (nth 1 package) ':interactive)
(cdddr package)
(cdr package)))))
- '(("metamail" metamail-buffer)
- ("info" Info-goto-node)
+ '(("info" Info-goto-node)
("hexl" hexl-hex-string-to-integer)
("pp" pp pp-to-string pp-eval-expression)
("ps-print" ps-print-preprint)
timezone-make-sortable-date timezone-make-time-string)
("rmailout" rmail-output)
("rmail" rmail-insert-rmail-file-header rmail-count-new-messages
- rmail-show-message)
+ rmail-show-message rmail-summary-exists
+ rmail-select-summary rmail-update-summary)
("gnus-audio" :interactive t gnus-audio-play)
("gnus-xmas" gnus-xmas-splash)
("gnus-soup" :interactive t
gnus-uu-decode-binhex gnus-uu-decode-uu-view
gnus-uu-decode-uu-and-save-view gnus-uu-decode-unshar-view
gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view
- gnus-uu-decode-binhex-view gnus-uu-unmark-thread)
+ gnus-uu-decode-binhex-view gnus-uu-unmark-thread
+ gnus-uu-mark-over gnus-uu-post-news gnus-uu-post-news)
("gnus-uu" gnus-uu-delete-work-dir gnus-quote-arg-for-sh-or-csh
gnus-uu-unmark-thread)
("gnus-msg" (gnus-summary-send-map keymap)
gnus-post-news gnus-summary-reply gnus-summary-reply-with-original
gnus-summary-mail-forward gnus-summary-mail-other-window
gnus-summary-resend-message gnus-summary-resend-bounced-mail
- gnus-bug)
+ gnus-summary-wide-reply gnus-summary-followup-to-mail
+ gnus-summary-followup-to-mail-with-original gnus-bug
+ gnus-summary-wide-reply-with-original
+ gnus-summary-post-forward gnus-summary-wide-reply-with-original
+ gnus-summary-post-forward)
("gnus-picon" :interactive t gnus-article-display-picons
gnus-group-display-picons gnus-picons-article-display-x-face
gnus-picons-display-x-face)
gnus-article-hide-headers gnus-article-hide-boring-headers
gnus-article-treat-overstrike gnus-article-word-wrap
gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
- gnus-article-display-x-face gnus-article-de-quoted-unreadable
+ gnus-article-display-x-face
gnus-article-mime-decode-quoted-printable gnus-article-hide-pgp
gnus-article-hide-pem gnus-article-hide-signature
gnus-article-strip-leading-blank-lines gnus-article-date-local
gnus-start-date-timer gnus-stop-date-timer)
("gnus-int" gnus-request-type)
("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
- gnus-dribble-enter gnus-read-init-file)
+ gnus-dribble-enter gnus-read-init-file gnus-dribble-touch)
("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article
gnus-dup-enter-articles)
("gnus-range" gnus-copy-sequence)
("gnus-async" gnus-async-request-fetched-article gnus-async-prefetch-next
gnus-async-prefetch-article gnus-async-prefetch-remove-group
gnus-async-halt-prefetch)
+ ("pop3-fma" :interactive t
+ pop3-fma-set-pop3-password)
("gnus-agent" gnus-open-agent gnus-agent-get-function
gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p
gnus-agent-get-undownloaded-list gnus-agent-fetch-session
;;; Gnus Utility Functions
;;;
+
(defmacro gnus-string-or (&rest strings)
"Return the first element of STRINGS that is a non-blank string.
STRINGS will be evaluated in normal `or' order."
(setq strings nil)))
string))
-;; Add the current buffer to the list of buffers to be killed on exit.
-(defun gnus-add-current-to-buffer-list ()
- (or (memq (current-buffer) gnus-buffer-list)
- (push (current-buffer) gnus-buffer-list)))
-
(defun gnus-version (&optional arg)
"Version number of this version of Gnus.
If ARG, insert string at point."
(interactive "P")
- (let ((methods gnus-valid-select-methods)
- (mess gnus-version)
- meth)
- ;; Go through all the legal select methods and add their version
- ;; numbers to the total version string. Only the backends that are
- ;; currently in use will have their message numbers taken into
- ;; consideration.
- (while methods
- (setq meth (intern (concat (caar methods) "-version")))
- (and (boundp meth)
- (stringp (symbol-value meth))
- (setq mess (concat mess "; " (symbol-value meth))))
- (setq methods (cdr methods)))
- (if arg
- (insert (message mess))
- (message mess))))
+ (if arg
+ (insert (message gnus-version))
+ (message gnus-version)))
(defun gnus-continuum-version (version)
"Return VERSION as a floating point number."
(interactive)
;; Enlarge info window if needed.
(let (gnus-info-buffer)
- (Info-goto-node (cadr (assq major-mode gnus-info-nodes)))
+ (Info-goto-node (format "(%s)%s"
+ (or gnus-info-filename
+ (get-language-info current-language-environment 'gnus-info)
+ "gnus")
+ (cadr (assq major-mode gnus-info-nodes))))
(setq gnus-info-buffer (current-buffer))
(gnus-configure-windows 'info)))
(gnus-server-to-method method))
((equal method gnus-select-method)
gnus-select-method)
- ((and (stringp (car method)) group)
+ ((and (stringp (car method))
+ group)
(gnus-server-extend-method group method))
- ((and method (not group)
+ ((and method
+ (not group)
(equal (cadr method) ""))
method)
(t