]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/nnspool.el
-
[gnu-emacs] / lisp / gnus / nnspool.el
index 6c23f41132f4aec719590344ef9ebb04843bf325..9db68b15df2bc4b2311cea9b49d9e7d20c4b2a3e 100644 (file)
@@ -1,7 +1,7 @@
 ;;; nnspool.el --- spool access for GNU Emacs
 
-;; Copyright (C) 1988-1990, 1993-1998, 2000-2011
-;;   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
@@ -154,7 +174,7 @@ there.")
            (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"))
@@ -286,7 +306,7 @@ there.")
                          "\\([^ ]+\\) +\\([0-9]+\\)[0-9][0-9][0-9] "))
                    (zerop (forward-line -1))))
        ;; We require nnheader which requires gnus-util.
-       (let ((seconds (gnus-float-time (date-to-time date)))
+       (let ((seconds (float-time (date-to-time date)))
              groups)
          ;; Go through lines and add the latest groups to a list.
          (while (and (looking-at "\\([^ ]+\\) +[0-9]+ ")
@@ -315,6 +335,7 @@ there.")
   (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
@@ -326,7 +347,11 @@ there.")
          ()
        (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...