;;; nnspool.el --- spool access for GNU Emacs
-;; Copyright (C) 1988-1990, 1993-1998, 2000-2012
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1988-1990, 1993-1998, 2000-2016 Free Software
+;; Foundation, Inc.
;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
;; Lars Magne Ingebrigtsen <larsi@gnus.org>
(require 'nnoo)
(eval-when-compile (require 'cl))
+;; Probably this entire thing should be obsolete.
+;; It's only used to init nnspool-spool-directory, so why not just
+;; set that variable's default directly?
+(eval-and-compile
+ (defvar news-directory (if (file-exists-p "/usr/spool/news/")
+ "/usr/spool/news/"
+ "/var/spool/news/")
+ "The root directory below which all news files are stored.")
+ (defvaralias 'news-path 'news-directory))
+
+;; Ditto re obsolescence.
+(defvar news-inews-program
+ (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
+ ((file-exists-p "/usr/local/inews") "/usr/local/inews")
+ ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
+ ((file-exists-p "/usr/contrib/lib/news/inews") "/usr/contrib/lib/news/inews")
+ ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
+ (t "inews"))
+ "Program to post news.")
+
(nnoo-declare nnspool)
(defvoo nnspool-inews-program news-inews-program
(and do-message
(zerop (% (incf count) 20))
(nnheader-message 5 "nnspool: Receiving headers... %d%%"
- (/ (* count 100) number))))
+ (floor (* count 100.0) number))))
(when do-message
(nnheader-message 5 "nnspool: Receiving headers...done"))
(save-excursion
(let* ((process-connection-type nil) ; t bugs out on Solaris
(inews-buffer (generate-new-buffer " *nnspool post*"))
+ (buf (current-buffer))
(proc
(condition-case err
(apply 'start-process "*nnspool inews*" inews-buffer
()
(nnheader-report 'nnspool "")
(set-process-sentinel proc 'nnspool-inews-sentinel)
- (mm-with-unibyte-current-buffer
+ (with-temp-buffer
+ (set-buffer-multibyte nil)
+ (insert-buffer-substring buf)
+ (encode-coding-region (point-min) (point-max)
+ nnspool-file-coding-system)
(process-send-region proc (point-min) (point-max)))
;; We slap a condition-case around this, because the process may
;; have exited already...