(gnus-agent-synchronize): Kill flags buffer.
[gnus] / lisp / gnus-util.el
index b8c08ed..460e83d 100644 (file)
@@ -1,5 +1,6 @@
 ;;; gnus-util.el --- utility functions for Gnus
-;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000
+;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
        (and (string-match "(.*" from)
             (setq name (substring from (1+ (match-beginning 0))
                                   (match-end 0)))))
-    ;; Fix by Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
-    (list (or name from) (or address from))))
+    (list (if (string= name "") nil name) (or address from))))
+
 
 (defun gnus-fetch-field (field)
   "Return the value of the header FIELD of current article."
@@ -538,17 +539,19 @@ Bind `print-quoted' and `print-readably' to t while printing."
 
 (defun gnus-make-directory (directory)
   "Make DIRECTORY (and all its parents) if it doesn't exist."
-  (when (and directory
-            (not (file-exists-p directory)))
-    (make-directory directory t))
+  (let ((file-name-coding-system nnmail-pathname-coding-system))
+    (when (and directory
+              (not (file-exists-p directory)))
+      (make-directory directory t)))
   t)
 
 (defun gnus-write-buffer (file)
   "Write the current buffer's contents to FILE."
   ;; Make sure the directory exists.
   (gnus-make-directory (file-name-directory file))
-  ;; Write the buffer.
-  (write-region (point-min) (point-max) file nil 'quietly))
+  (let ((file-name-coding-system nnmail-pathname-coding-system))
+    ;; Write the buffer.
+    (write-region (point-min) (point-max) file nil 'quietly)))
 
 (defun gnus-delete-file (file)
   "Delete FILE if it exists."
@@ -567,7 +570,7 @@ Bind `print-quoted' and `print-readably' to t while printing."
     (save-excursion
       (save-restriction
        (goto-char beg)
-       (while (re-search-forward "[ \t]*\n" end 'move)
+       (while (re-search-forward gnus-emphasize-whitespace-regexp end 'move)
          (gnus-put-text-property beg (match-beginning 0) prop val)
          (setq beg (point)))
        (gnus-put-text-property beg (point) prop val)))))
@@ -680,7 +683,8 @@ with potentially long computations."
                (save-excursion
                  (set-buffer file-buffer)
                  (rmail-insert-rmail-file-header)
-                 (let ((require-final-newline nil))
+                 (let ((require-final-newline nil)
+                       (coding-system-for-write mm-text-coding-system))
                    (gnus-write-buffer filename)))
                (kill-buffer file-buffer))
            (error "Output file does not exist")))
@@ -731,7 +735,8 @@ with potentially long computations."
            (let ((file-buffer (create-file-buffer filename)))
              (save-excursion
                (set-buffer file-buffer)
-               (let ((require-final-newline nil))
+               (let ((require-final-newline nil)
+                     (coding-system-for-write mm-text-coding-system))
                  (gnus-write-buffer filename)))
              (kill-buffer file-buffer))
          (error "Output file does not exist")))
@@ -868,13 +873,14 @@ ARG is passed to the first function."
        (when (assoc "default" (car rest))
          (push (car rest) result))
        (pop rest)))
-    (setq result (nreverse result))
-    (if (null result)
-       nil
+    (when result
+      (setq result (nreverse result))
       (while (and result
-                 (not (equalp port (or (gnus-netrc-get result) "nntp"))))
+                 (not (equal (or port "nntp")
+                             (or (gnus-netrc-get (car result) "port")
+                                 "nntp"))))
        (pop result))
-      result)))
+      (car result))))
 
 (defun gnus-netrc-get (alist type)
   "Return the value of token TYPE from ALIST."