umerin@photon.stars.flab.Fujitsu.JUNET (Masanobu UMEDA) (06/28/88)
This is an official patch to GNUS recently posted to comp.emacs. The
changes are as follows:
(1) Bug fixes of post news (in gnus.el and nnspool.el)
(2) Variable gnus-use-generic-from is introduced.
(3) Variable gnus-force-nntp is introduced. GNUS won't look up local
news spool if the variable is set to T.
(4) Variable gnus-auto-select-next is introduced. You can go to next
unread news group directly without returning to group selection
mode if the variable is set to T.
Masanobu UMEDA
---------------------------------------------------------------------------
*** /tmp/,RCSt1a00811 Tue Jun 28 13:42:38 1988
--- gnus.el Tue Jun 28 13:38:51 1988
***************
*** 1,7 ****
;;; GNUS: NNTP-based News Reader for GNU Emacs
;; Copyright (C) 1987, 1988 Fujitsu Laboratoris LTD.
;; Copyright (C) 1987, 1988 Masanobu UMEDA (umerin@flab.flab.Fujitsu.JUNET)
! ;; $Header: gnus.el,v 3.3 88/06/16 09:58:09 umerin Exp $
;; This file is part of GNU Emacs.
--- 1,7 ----
;;; GNUS: NNTP-based News Reader for GNU Emacs
;; Copyright (C) 1987, 1988 Fujitsu Laboratoris LTD.
;; Copyright (C) 1987, 1988 Masanobu UMEDA (umerin@flab.flab.Fujitsu.JUNET)
! ;; $Header: gnus.el,v 3.5 88/06/28 13:36:38 umerin Exp $
;; This file is part of GNU Emacs.
***************
*** 63,68 ****
--- 63,75 ----
"*A little bit verbose in posting mode if T.
Ask you news group name, subject, and distribution.")
+ (defvar gnus-auto-select-next t
+ "*Select next news group automagically if T.
+ Experimental feature. Send me your comments.")
+
+ (defvar gnus-force-nntp nil
+ "*Use NNTP even if local news spool is available if T.")
+
(defvar gnus-Group-mode-hook nil
"*Hooks for GNUS Group mode.")
***************
*** 87,94 ****
"*Your organization.
If environment variable `ORGANIZATION' is defined, it's instead used.")
! (defvar gnus-your-time-zone -9
! "*Difference between GMT and your time zone.")
;; Internal variables.
--- 94,101 ----
"*Your organization.
If environment variable `ORGANIZATION' is defined, it's instead used.")
! (defvar gnus-use-generic-from nil
! "*Don't insert local host name to From: field value if T.")
;; Internal variables.
***************
*** 244,252 ****
and distribution when posting a new news if the value is set to
non-NIL (defalut).
! If news server is your local host, GNUS won't use NNTP but go to local
! news spool directly after loading `nnspool' by itself.
Entry to this mode calls the value of gnus-Group-mode-hook with no arguments,
if that value is non-nil."
(interactive)
--- 251,264 ----
and distribution when posting a new news if the value is set to
non-NIL (defalut).
! If your local host has a news spool, GNUS won't use NNTP but go to the
! spool directly after loading `nnspool' by itself. You can disable this
! feature by setting `gnus-force-nntp' to T.
+ Select next news group automagically in subject selection mode if
+ variable `gnus-auto-select-next' is T (default). You don't have to
+ exit subject selection mode explicitly.
+
Entry to this mode calls the value of gnus-Group-mode-hook with no arguments,
if that value is non-nil."
(interactive)
***************
*** 276,290 ****
(defun gnus-Group-startup-message ()
(insert "\n\n\n\n
! GNUS Version 3.3
NNTP-based News Reader for GNU Emacs
! If you have any troubles with this software, please let me
! know. I would fix your problems in the next release.
! Any comment, suggestion, and bug fix are welcome.
Masanobu UMEDA
umerin@flab.Fujitsu.JUNET"))
--- 288,302 ----
(defun gnus-Group-startup-message ()
(insert "\n\n\n\n
! GNUS Version 3.5
NNTP-based News Reader for GNU Emacs
! If you have any trouble with this software, please let me
! know. I will fix your problems in the next release.
! Comments, suggestions, and bug fixes are welcome.
Masanobu UMEDA
umerin@flab.Fujitsu.JUNET"))
***************
*** 936,953 ****
)
))
(defun gnus-Subject-next-article (unread &optional subject)
"Select article after current one.
If argument UNREAD is non-nil, only unread article is selected."
(interactive "P")
! (cond ((gnus-Subject-display-article
! (gnus-Subject-search-forward unread subject)))
! (unread
! (message "No more unread articles."))
! (t
! (message "No more articles."))
! ))
(defun gnus-Subject-next-unread-article ()
"Select unread article after current one."
(interactive)
--- 948,1023 ----
)
))
+ ;;(defun gnus-Subject-next-article (unread &optional subject)
+ ;; "Select article after current one.
+ ;;If argument UNREAD is non-nil, only unread article is selected."
+ ;; (interactive "P")
+ ;; (cond ((gnus-Subject-display-article
+ ;; (gnus-Subject-search-forward unread subject)))
+ ;; (unread
+ ;; (message "No more unread articles."))
+ ;; (t
+ ;; (message "No more articles."))
+ ;; ))
+
(defun gnus-Subject-next-article (unread &optional subject)
"Select article after current one.
If argument UNREAD is non-nil, only unread article is selected."
(interactive "P")
! (if (gnus-Subject-display-article
! (gnus-Subject-search-forward unread subject))
! nil
! (let* ((keyseq (this-command-keys))
! (cmd (string-to-char keyseq))
! (group (gnus-Subject-next-group-name))
! (auto-select
! (and gnus-auto-select-next
! (or (null subject)
! (null gnus-current-group-unread-articles))
! (memq (key-binding keyseq)
! '(gnus-Subject-next-unread-article
! gnus-Subject-next-article
! gnus-Subject-next-page))
! )))
! (message "No more%s articles%s"
! (if unread " unread" "")
! (if auto-select
! (if group
! (format " (Type %s to %s [%d])"
! (if (string-equal keyseq " ")
! "SPACE" keyseq)
! group
! (nth 1 (assoc group gnus-unread-assoc)))
! (format " (Type %s to exit %s)"
! (if (string-equal keyseq " ")
! "SPACE" keyseq)
! gnus-current-news-group
! ))
! "."))
! ;; Select next unread news group automagically.
! (if auto-select
! (let ((char nil))
! (setq char (read-char))
! (message "")
! (if (eq char cmd)
! (if (null group)
! (call-interactively 'gnus-Subject-exit)
! (gnus-Subject-exit)
! (gnus-Subject-read-group group nil nil))
! (setq unread-command-char char))
! ))
! )))
+ (defun gnus-Subject-next-group-name ()
+ "Return next unread news group name."
+ (save-excursion
+ (set-buffer gnus-Group-display-buffer)
+ (save-excursion
+ ;; We don't want to alter current point of group selection buffer.
+ (if (gnus-Group-search-forward nil nil)
+ (gnus-Group-group-name))
+ )))
+
(defun gnus-Subject-next-unread-article ()
"Select unread article after current one."
(interactive)
***************
*** 1091,1112 ****
"Mark articles which has the same subject as read.
If argument NO-SELECT is non-nil, next unread article is not selected."
(interactive "P")
! (let* ((article (gnus-Subject-article-number))
! (cntl (format "^.[ \t]+%d:" article))
! (subject nil)
(count 0))
(save-excursion
! (goto-char (point-min))
! (if (re-search-forward cntl nil t)
! (progn
! (setq subject (gnus-Subject-subject-string))
! (gnus-Subject-mark-read article)
! (setq count (1+ count))
! (while (and subject
! (gnus-Subject-search-forward t subject))
! (gnus-Subject-mark-read (gnus-Subject-article-number))
! (setq count (1+ count)))
! ))
)
(if no-select
(gnus-Subject-next-subject t)
--- 1161,1175 ----
"Mark articles which has the same subject as read.
If argument NO-SELECT is non-nil, next unread article is not selected."
(interactive "P")
! (let* ((subject (gnus-Subject-subject-string))
(count 0))
(save-excursion
! (gnus-Subject-mark-read)
! (setq count (1+ count))
! (while (and subject
! (gnus-Subject-search-forward t subject))
! (gnus-Subject-mark-read)
! (setq count (1+ count)))
)
(if no-select
(gnus-Subject-next-subject t)
***************
*** 1120,1154 ****
(interactive)
(gnus-Subject-kill-same-subject t))
! (defun gnus-Subject-mark-unread-forward (&optional article)
! "Mark current subject as unread, and then go forward.
! If optional argument ARTICLE is non-nil, the ARTICLE rather than
! current is marked as unread."
(interactive)
! (gnus-Subject-mark-unread (or article
! (gnus-Subject-article-number)))
(gnus-Subject-next-subject nil))
! (defun gnus-Subject-mark-unread-backward (&optional article)
! "Mark current subject as unread, and then go backward.
! If optional argument ARTICLE is non-nil, the ARTICLE rather than
! current is marked as unread."
(interactive)
! (gnus-Subject-mark-unread (or article
! (gnus-Subject-article-number)))
(gnus-Subject-prev-subject nil))
! (defun gnus-Subject-mark-unread (article)
"Mark ARTICLE's subject as unread."
(save-excursion
(set-buffer gnus-Subject-display-buffer)
! (let ((buffer-read-only nil))
(if (not (memq article gnus-current-group-unread-articles))
(progn
;; Add to list.
(setq gnus-current-group-unread-articles
(cons article gnus-current-group-unread-articles))
! (if (gnus-Subject-goto-subject article)
(progn
(beginning-of-line)
(delete-region (point) (1+ (point)))
--- 1183,1214 ----
(interactive)
(gnus-Subject-kill-same-subject t))
! (defun gnus-Subject-mark-unread-forward ()
! "Mark current subject as unread, and then go forward."
(interactive)
! (gnus-Subject-mark-unread)
(gnus-Subject-next-subject nil))
! (defun gnus-Subject-mark-unread-backward ()
! "Mark current subject as unread, and then go backward."
(interactive)
! (gnus-Subject-mark-unread)
(gnus-Subject-prev-subject nil))
! (defun gnus-Subject-mark-unread (&optional article)
"Mark ARTICLE's subject as unread."
(save-excursion
(set-buffer gnus-Subject-display-buffer)
! (let* ((buffer-read-only nil)
! (current (gnus-Subject-article-number))
! (article (or article current)))
(if (not (memq article gnus-current-group-unread-articles))
(progn
;; Add to list.
(setq gnus-current-group-unread-articles
(cons article gnus-current-group-unread-articles))
! (if (or (= article current)
! (gnus-Subject-goto-subject article))
(progn
(beginning-of-line)
(delete-region (point) (1+ (point)))
***************
*** 1156,1190 ****
))
)))
! (defun gnus-Subject-mark-read-forward (&optional article)
! "Mark current subject as read, and then go forward.
! If optional argument ARTICLE is non-nil, the ARTICLE rather than
! current is marked as read."
(interactive)
! (gnus-Subject-mark-read (or article
! (gnus-Subject-article-number)))
(gnus-Subject-next-subject t))
! (defun gnus-Subject-mark-read-backward (&optional article)
! "Mark current subject as read, and then go backward.
! If optional argument ARTICLE is non-nil, the ARTICLE rather than
! current is marked as read."
(interactive)
! (gnus-Subject-mark-read (or article
! (gnus-Subject-article-number)))
(gnus-Subject-prev-subject t))
! (defun gnus-Subject-mark-read (article)
"Mark ARTICLE's subject as read."
(save-excursion
(set-buffer gnus-Subject-display-buffer)
! (let ((buffer-read-only nil))
(if (memq article gnus-current-group-unread-articles)
(progn
;; Remove from list.
(setq gnus-current-group-unread-articles
(delq article gnus-current-group-unread-articles))
! (if (gnus-Subject-goto-subject article)
(progn
(beginning-of-line)
(delete-region (point) (1+ (point)))
--- 1216,1247 ----
))
)))
! (defun gnus-Subject-mark-read-forward ()
! "Mark current subject as read, and then go forward."
(interactive)
! (gnus-Subject-mark-read)
(gnus-Subject-next-subject t))
! (defun gnus-Subject-mark-read-backward ()
! "Mark current subject as read, and then go backward."
(interactive)
! (gnus-Subject-mark-read)
(gnus-Subject-prev-subject t))
! (defun gnus-Subject-mark-read (&optional article)
"Mark ARTICLE's subject as read."
(save-excursion
(set-buffer gnus-Subject-display-buffer)
! (let* ((buffer-read-only nil)
! (current (gnus-Subject-article-number))
! (article (or article current)))
(if (memq article gnus-current-group-unread-articles)
(progn
;; Remove from list.
(setq gnus-current-group-unread-articles
(delq article gnus-current-group-unread-articles))
! (if (or (= article current)
! (gnus-Subject-goto-subject article))
(progn
(beginning-of-line)
(delete-region (point) (1+ (point)))
***************
*** 1307,1314 ****
(bury-buffer gnus-Subject-display-buffer))
(if (get-buffer gnus-Article-display-buffer)
(bury-buffer gnus-Article-display-buffer))
! (switch-to-buffer gnus-Group-display-buffer)
! (delete-other-windows)
;; Update cross referenced group info.
(while updated
(gnus-Group-update-group (car updated) t) ;Ignore non-visible group.
--- 1364,1375 ----
(bury-buffer gnus-Subject-display-buffer))
(if (get-buffer gnus-Article-display-buffer)
(bury-buffer gnus-Article-display-buffer))
! (if (interactive-p)
! (progn
! (switch-to-buffer gnus-Group-display-buffer)
! (delete-other-windows))
! ;; Do not update windows but change buffer to work.
! (set-buffer gnus-Group-display-buffer))
;; Update cross referenced group info.
(while updated
(gnus-Group-update-group (car updated) t) ;Ignore non-visible group.
***************
*** 1548,1554 ****
(null gnus-server-host))
(setq gnus-server-host
(read-string "News Server host: " gnus-server-host)))
! (if (string-equal gnus-server-host (system-name))
(progn
;; Use local news spool.
(require 'nnspool)
--- 1609,1616 ----
(null gnus-server-host))
(setq gnus-server-host
(read-string "News Server host: " gnus-server-host)))
! (if (and (not gnus-force-nntp)
! (string-equal gnus-server-host (system-name)))
(progn
;; Use local news spool.
(require 'nnspool)
***************
*** 2040,2048 ****
(condition-case nil
(eval-current-buffer)
(error
! (error "Too complicated, or erroneous lines included in %s"
! newsrc-file))
! )
(kill-buffer (current-buffer))
(message "Reading %s... Done." newsrc-file))
))))
--- 2102,2108 ----
(condition-case nil
(eval-current-buffer)
(error
! (error "Too long or invalid lines in %s" newsrc-file)))
(kill-buffer (current-buffer))
(message "Reading %s... Done." newsrc-file))
))))
***************
*** 2107,2113 ****
(message "Saving %s..." gnus-current-startup-file)
(set-buffer (find-file-noselect gnus-current-startup-file))
(let ((make-backup-files t)
! (version-control nil))
;; Make backup file of master newsrc.
;; You can stop or change version control of backup file.
;; Suggested by jason@violet.berkeley.edu.
--- 2167,2174 ----
(message "Saving %s..." gnus-current-startup-file)
(set-buffer (find-file-noselect gnus-current-startup-file))
(let ((make-backup-files t)
! (version-control nil)
! (require-final-newline t)) ;Don't ask even if requested.
;; Make backup file of master newsrc.
;; You can stop or change version control of backup file.
;; Suggested by jason@violet.berkeley.edu.
***************
*** 2117,2123 ****
(set-buffer (get-buffer-create " *GNUS-newsrc*"))
(erase-buffer)
(gnus-gnus-to-quick-newsrc-format)
! (write-file (concat gnus-current-startup-file ".el"))
(kill-buffer (current-buffer))
(message "Saving %s... Done." gnus-current-startup-file)
)
--- 2178,2187 ----
(set-buffer (get-buffer-create " *GNUS-newsrc*"))
(erase-buffer)
(gnus-gnus-to-quick-newsrc-format)
! (let ((make-backup-files nil)
! (version-control nil)
! (require-final-newline t)) ;Don't ask even if requested.
! (write-file (concat gnus-current-startup-file ".el")))
(kill-buffer (current-buffer))
(message "Saving %s... Done." gnus-current-startup-file)
)
***************
*** 2392,2399 ****
(defun gnus-inews ()
"NNTP inews interface."
(let ((signature (expand-file-name "~/.signature" nil))
! (distribution nil)
! (lines nil))
(save-excursion
(copy-to-buffer " *GNUS-posting*" (point-min) (point-max))
(set-buffer " *GNUS-posting*")
--- 2456,2462 ----
(defun gnus-inews ()
"NNTP inews interface."
(let ((signature (expand-file-name "~/.signature" nil))
! (distribution nil))
(save-excursion
(copy-to-buffer " *GNUS-posting*" (point-min) (point-max))
(set-buffer " *GNUS-posting*")
***************
*** 2414,2429 ****
(goto-char (point-max))
(insert "--\n")
(insert-file-contents signature)))
- ;; Count lines of article body.
- (goto-char (point-min))
- (search-forward "\n\n")
- (setq lines (count-lines (point) (point-max)))
;; Prepare article headers.
(save-restriction
(goto-char (point-min))
(search-forward "\n\n")
(narrow-to-region (point-min) (point))
! (gnus-inews-insert-headers lines))
(widen)
;; Save author copy of posted article. The article must be
;; copied before being posted because `nntp-request-post'
--- 2477,2488 ----
(goto-char (point-max))
(insert "--\n")
(insert-file-contents signature)))
;; Prepare article headers.
(save-restriction
(goto-char (point-min))
(search-forward "\n\n")
(narrow-to-region (point-min) (point))
! (gnus-inews-insert-headers))
(widen)
;; Save author copy of posted article. The article must be
;; copied before being posted because `nntp-request-post'
***************
*** 2489,2495 ****
"Distribution: " (or distribution "") "\n"
)
;; Prepare article headers.
! (gnus-inews-insert-headers 0)
(goto-char (point-max))
;; Insert empty line.
(insert "\n")
--- 2548,2554 ----
"Distribution: " (or distribution "") "\n"
)
;; Prepare article headers.
! (gnus-inews-insert-headers)
(goto-char (point-max))
;; Insert empty line.
(insert "\n")
***************
*** 2502,2512 ****
))
))
! (defun gnus-inews-insert-headers (lines)
! "Prepare article headers."
(save-excursion
(let* ((login-name (gnus-inews-login-name))
(domain-name (gnus-inews-domain-name))
(full-name (or (getenv "NAME")
(user-full-name)))
;; Message-ID should not contain slash `/' and should be
--- 2561,2574 ----
))
))
! (defun gnus-inews-insert-headers ()
! "Prepare article headers.
! Path:, From:, Subject:, Message-ID: and Distribution: are generated.
! Organization: is optional."
(save-excursion
(let* ((login-name (gnus-inews-login-name))
(domain-name (gnus-inews-domain-name))
+ (generic-name (gnus-inews-domain-name gnus-use-generic-from))
(full-name (or (getenv "NAME")
(user-full-name)))
;; Message-ID should not contain slash `/' and should be
***************
*** 2518,2524 ****
;; Insert from top of headers.
(goto-char (point-min))
(insert "Path: " gnus-server-host "!" login-name "\n"
! "From: " login-name "@" domain-name
(if (or (string-equal full-name "")
(string-equal full-name "&"))
"\n"
--- 2580,2586 ----
;; Insert from top of headers.
(goto-char (point-min))
(insert "Path: " gnus-server-host "!" login-name "\n"
! "From: " login-name "@" generic-name
(if (or (string-equal full-name "")
(string-equal full-name "&"))
"\n"
***************
*** 2528,2538 ****
(or (mail-fetch-field "subject")
(insert "Subject: \n"))
;; Insert random headers.
! (insert "Message-ID: <" id "@" domain-name ">\n"
! "Date: " (gnus-inews-date) "\n"
! "Organization: " organization "\n"
! "Lines: " (int-to-string lines) "\n"
! )
(or (mail-fetch-field "distribution")
(insert "Distribution: \n"))
)))
--- 2590,2598 ----
(or (mail-fetch-field "subject")
(insert "Subject: \n"))
;; Insert random headers.
! (insert "Message-ID: <" id "@" domain-name ">\n")
! (if organization
! (insert "Organization: " organization "\n"))
(or (mail-fetch-field "distribution")
(insert "Distribution: \n"))
)))
***************
*** 2543,2550 ****
(getenv "LOGNAME")
(user-login-name)))
! (defun gnus-inews-domain-name ()
! "Return user's domain name"
(let ((domain (or (getenv "DOMAINNAME")
gnus-your-domain)))
(if (or (null domain)
--- 2603,2612 ----
(getenv "LOGNAME")
(user-login-name)))
! (defun gnus-inews-domain-name (&optional genericfrom)
! "Return user's domain name.
! If optional argument GENERICFROM is non-nil, don't insert local host
! name to the domain name."
(let ((domain (or (getenv "DOMAINNAME")
gnus-your-domain)))
(if (or (null domain)
***************
*** 2552,2564 ****
(progn
(setq domain (read-string "Your domain name (no host): "))
(setq gnus-your-domain domain)))
! (concat (system-name)
! ;; Host name and domain name must be separated by
! ;; one period `.'.
! (if (string-equal "." (substring domain 0 1)) "" ".")
! domain
! )
! ))
(defun gnus-inews-message-id (name)
"Generate unique message-ID for NAMEd user."
--- 2614,2631 ----
(progn
(setq domain (read-string "Your domain name (no host): "))
(setq gnus-your-domain domain)))
! (if genericfrom
! ;; Support GENERICFROM as same as standard Bnews system.
! ;; Suggested by ohm@kaba.junet.
! (if (string-equal "." (substring domain 0 1))
! (substring domain 1) domain)
! (concat (system-name)
! ;; Host name and domain name must be separated by
! ;; one period `.'.
! (if (string-equal "." (substring domain 0 1)) "" ".")
! domain
! )
! )))
(defun gnus-inews-message-id (name)
"Generate unique message-ID for NAMEd user."
***************
*** 2574,2612 ****
(substring date (match-beginning 5) (match-end 5)) ;Second
)
(error "GNUS: cannot understand current-time-string: %s." date))
- ))
-
- (defun gnus-inews-date ()
- "News format date string of today."
- (let ((date (current-time-string)))
- (if (string-match "^[^ ]+ \\([^ ]+\\)[ ]+\\([0-9]+\\) \\([0-9:]+\\) [0-9][0-9]\\([0-9][0-9]\\)"
- date)
- (concat (substring date (match-beginning 2) (match-end 2)) ;Day
- " "
- (substring date (match-beginning 1) (match-end 1)) ;Month
- " "
- (substring date (match-beginning 4) (match-end 4)) ;Year
- " "
- (gnus-unix-time-to-gmtime
- gnus-your-time-zone
- (substring date (match-beginning 3) (match-end 3))) ;Time
- " GMT")
- (error "GNUS: cannot understand current-time-string: %s." date))
- ))
-
- (defun gnus-unix-time-to-gmtime (time-zone time)
- "Convert unix time to GM time."
- (if (string-match "^\\([0-9]+\\):\\(.*\\)$" time)
- (concat
- (format "%02d"
- (+ time-zone (string-to-int (substring time
- (match-beginning 1)
- (match-end 1)))))
- ":"
- (substring time
- (match-beginning 2)
- (match-end 2)))
- (error "GNUS: cannot understand `%s' as unix time format." time)
))
--- 2641,2646 ----
*** /tmp/,RCSt1a00823 Tue Jun 28 13:44:00 1988
--- nnspool.el Tue Jun 28 13:38:47 1988
***************
*** 1,7 ****
;;; Spool patches to NNTP package for GNU Emacs
;; Copyright (C) 1988 Fujitsu Laboratoris LTD.
;; Copyright (C) 1988 Masanobu UMEDA (umerin@flab.flab.Fujitsu.JUNET)
! ;; $Header: nnspool.el,v 1.3 88/06/16 09:58:46 umerin Exp $
;; This file is part of GNU Emacs.
--- 1,7 ----
;;; Spool patches to NNTP package for GNU Emacs
;; Copyright (C) 1988 Fujitsu Laboratoris LTD.
;; Copyright (C) 1988 Masanobu UMEDA (umerin@flab.flab.Fujitsu.JUNET)
! ;; $Header: nnspool.el,v 1.4 88/06/28 13:38:07 umerin Exp $
;; This file is part of GNU Emacs.
***************
*** 215,222 ****
nnspool-inews-program 'delete t nil
"-h")
(prog1
! ;; If inews returns some strings, it must be error message.
! (zerop (buffer-size))
;; Make status message by unfolding lines.
(subst-char-in-region (point-min) (point-max) ?\n ?\\ 'noundo)
(setq nntp-status-message-string
--- 215,228 ----
nnspool-inews-program 'delete t nil
"-h")
(prog1
! (or (zerop (buffer-size))
! ;; If inews returns strings, it must be error message
! ;; unless SPOOLNEWS is defined.
! ;; This condition is very week, but there is no good rule
! ;; identifying errors when SPOOLNEWS is defined.
! ;; Suggested by ohm@kaba.junet.
! (string-match "spooled"
! (buffer-substring (point-min) (point-max))))
;; Make status message by unfolding lines.
(subst-char-in-region (point-min) (point-max) ?\n ?\\ 'noundo)
(setq nntp-status-message-string
--
Masanobu UMEDA
umerin@flab.flab.Fujitsu.JUNET
umerin%flab.flab.Fujitsu.JUNET@uunet.uu.NET