Merge from emacs--devo--0
[gnus] / lisp / nnheader.el
index 31601c8..cad34db 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994,
 ;;   1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006 Free Software Foundation, Inc.
+;;   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,9 +21,7 @@
 ;; GNU General Public License for more details.
 
 ;; 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., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -32,6 +30,9 @@
 (eval-when-compile (require 'cl))
 
 (defvar nnmail-extra-headers)
+(defvar gnus-newsgroup-name)
+(defvar nnheader-file-coding-system)
+(defvar jka-compr-compression-info-list)
 
 ;; Requiring `gnus-util' at compile time creates a circular
 ;; dependency between nnheader.el and gnus-util.el.
@@ -248,6 +249,8 @@ on your system, you could say something like:
   (skip-chars-forward " \t")
   (buffer-substring (point) (point-at-eol)))
 
+(autoload 'ietf-drums-unfold-fws "ietf-drums")
+
 (defun nnheader-parse-naked-head (&optional number)
   ;; This function unfolds continuation lines in this buffer
   ;; destructively.  When this side effect is unwanted, use
@@ -395,7 +398,8 @@ on your system, you could say something like:
               out)))
      out))
 
-(defvar nnheader-uniquify-message-id nil)
+(eval-and-compile
+  (defvar nnheader-uniquify-message-id nil))
 
 (defmacro nnheader-nov-read-message-id (&optional number)
   `(let ((id (nnheader-nov-field)))
@@ -566,12 +570,11 @@ the line could be found."
 
 (defun nnheader-init-server-buffer ()
   "Initialize the Gnus-backend communication buffer."
-  (save-excursion
-    (unless (gnus-buffer-live-p nntp-server-buffer)
-      (setq nntp-server-buffer (get-buffer-create " *nntpd*")))
-    (set-buffer nntp-server-buffer)
-    (mm-enable-multibyte)
+  (unless (gnus-buffer-live-p nntp-server-buffer)
+    (setq nntp-server-buffer (get-buffer-create " *nntpd*")))
+  (with-current-buffer nntp-server-buffer
     (erase-buffer)
+    (mm-enable-multibyte)
     (kill-all-local-variables)
     (setq case-fold-search t)          ;Should ignore case.
     (set (make-local-variable 'nntp-process-response) nil)
@@ -609,12 +612,12 @@ the line could be found."
                        (nth 1 (mm-insert-file-contents
                                file nil beg
                                (incf beg nnheader-head-chop-length))))
-                   ;; CRLF might be used for the line-break code.
-                   (prog1 (not (re-search-forward "\n\r?\n" nil t))
+                   ;; CRLF or CR might be used for the line-break code.
+                   (prog1 (not (re-search-forward "\n\r?\n\\|\r\r" nil t))
                      (goto-char (point-max)))
                    (or (null nnheader-max-head-length)
                        (< beg nnheader-max-head-length))))
-       ;; Finally decode contents.
+       ;; Finally decode the contents.
        (when (mm-coding-system-p nnheader-file-coding-system)
          (mm-decode-coding-region start (point-max)
                                   nnheader-file-coding-system))))
@@ -695,7 +698,6 @@ the line could be found."
     (erase-buffer))
   (current-buffer))
 
-(eval-when-compile (defvar jka-compr-compression-info-list))
 (defvar nnheader-numerical-files
   (if (boundp 'jka-compr-compression-info-list)
       (concat "\\([0-9]+\\)\\("
@@ -866,7 +868,9 @@ without formatting."
   "Message if the Gnus backends are talkative."
   (if (or (not (numberp gnus-verbose-backends))
          (<= level gnus-verbose-backends))
-      (apply 'message args)
+      (if gnus-add-timestamp-to-message
+         (apply 'gnus-message-with-timestamp args)
+       (apply 'message args))
     (apply 'format args)))
 
 (defun nnheader-be-verbose (level)
@@ -936,9 +940,8 @@ first.  Otherwise, find the newest one, though it may take a time."
        (car results)
       (car (sort results 'file-newer-than-file-p)))))
 
-(eval-when-compile
-  (defvar ange-ftp-path-format)
-  (defvar efs-path-regexp))
+(defvar ange-ftp-path-format)
+(defvar efs-path-regexp)
 (defun nnheader-re-read-dir (path)
   "Re-read directory PATH if PATH is on a remote system."
   (if (and (fboundp 'efs-re-read-dir) (boundp 'efs-path-regexp))
@@ -990,6 +993,7 @@ See `find-file-noselect' for the arguments."
         (after-insert-file-functions nil)
         (enable-local-eval nil)
         (coding-system-for-read nnheader-file-coding-system)
+        (version-control 'never)
         (ffh (if (boundp 'find-file-hook)
                  'find-file-hook
                'find-file-hooks))
@@ -1053,7 +1057,6 @@ See `find-file-noselect' for the arguments."
 
 (defalias 'nnheader-cancel-timer 'cancel-timer)
 (defalias 'nnheader-cancel-function-timers 'cancel-function-timers)
-(defalias 'nnheader-string-as-multibyte 'string-as-multibyte)
 
 (defun nnheader-accept-process-output (process)
   (accept-process-output
@@ -1070,5 +1073,5 @@ See `find-file-noselect' for the arguments."
 
 (provide 'nnheader)
 
-;;; arch-tag: a9c4b7d9-52ae-4ec9-b196-dfd93124d202
+;; arch-tag: a9c4b7d9-52ae-4ec9-b196-dfd93124d202
 ;;; nnheader.el ends here