changeset 62943:11d53dd5abd9

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-345 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 77-78) - Update from CVS 2005-05-31 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-art.el (article-display-x-face): Replace process-kill-without-query by gnus-set-process-query-on-exit-flag. * lisp/gnus/gnus-group.el: Bind gnus-cache-active-hashtb when compiling. * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Alias to set-process-query-on-exit-flag or process-kill-without-query. * lisp/gnus/html2text.el (html2text-fix-paragraphs): Use `while - re-search' loop instead of replace-regexp. * lisp/gnus/imap.el (imap-ssl-open): Use set-process-query-on-exit-flag instead of process-kill-without-query if it is available. * lisp/gnus/mm-util.el (mm-insert-file-contents): Bind find-file-hook instead of find-file-hooks if it is available. * lisp/gnus/mml1991.el: Bind pgg-default-user-id when compiling. * lisp/gnus/mml2015.el: Bind pgg-default-user-id when compiling. * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Use write-contents-functions instead of write-contents-hooks if it is available. * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Bind find-file-hook instead of find-file-hooks if it is available. * lisp/gnus/nntp.el (nntp-open-connection): Replace process-kill-without-query by gnus-set-process-query-on-exit-flag. (nntp-open-ssl-stream): Ditto. (nntp-open-tls-stream): Ditto. * lisp/gnus/pgg.el: Don't bind itimer vars; don't autoload itimer functions. (pgg-run-at-time-1): New macro. (pgg-run-at-time): Use it. * lisp/gnus/starttls.el (starttls-set-process-query-on-exit-flag): Alias to set-process-query-on-exit-flag or process-kill-without-query. (starttls-open-stream-gnutls): Use it instead of process-kill-without-query. (starttls-open-stream): Ditto. 2005-05-31 Simon Josefsson <jas@extundo.com> * lisp/gnus/imap.el (imap-ssl-open): Use imap-process-connection-type, instead of hard coding to nil. 2005-05-31 Kevin Greiner <kgreiner@xpediantsolutions.com> * lisp/gnus/gnus-group.el (): Require gnus-sum and autoload functions to resolve warnings when gnus-group.el compiled alone.
author Miles Bader <miles@gnu.org>
date Wed, 01 Jun 2005 05:07:06 +0000
parents eed5b72c957d
children 35f25c15b8c2
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-group.el lisp/gnus/gnus-util.el lisp/gnus/html2text.el lisp/gnus/imap.el lisp/gnus/mm-util.el lisp/gnus/mml1991.el lisp/gnus/mml2015.el lisp/gnus/nndraft.el lisp/gnus/nnheader.el lisp/gnus/nntp.el lisp/gnus/pgg.el lisp/gnus/starttls.el
diffstat 14 files changed, 209 insertions(+), 118 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/ChangeLog	Wed Jun 01 05:07:06 2005 +0000
@@ -1,3 +1,58 @@
+2005-05-31  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-art.el (article-display-x-face): Replace
+	process-kill-without-query by gnus-set-process-query-on-exit-flag.
+
+	* gnus-group.el: Bind gnus-cache-active-hashtb when compiling.
+
+	* gnus-util.el (gnus-set-process-query-on-exit-flag): Alias to
+	set-process-query-on-exit-flag or process-kill-without-query.
+
+	* html2text.el (html2text-fix-paragraphs): Use `while - re-search'
+	loop instead of replace-regexp.
+
+	* imap.el (imap-ssl-open): Use set-process-query-on-exit-flag
+	instead of process-kill-without-query if it is available.
+
+	* mm-util.el (mm-insert-file-contents): Bind find-file-hook
+	instead of find-file-hooks if it is available.
+
+	* mml1991.el: Bind pgg-default-user-id when compiling.
+
+	* mml2015.el: Bind pgg-default-user-id when compiling.
+
+	* nndraft.el (nndraft-request-associate-buffer): Use
+	write-contents-functions instead of write-contents-hooks if it is
+	available.
+
+	* nnheader.el (nnheader-find-file-noselect): Bind find-file-hook
+	instead of find-file-hooks if it is available.
+
+	* nntp.el (nntp-open-connection): Replace
+	process-kill-without-query by gnus-set-process-query-on-exit-flag.
+	(nntp-open-ssl-stream): Ditto.
+	(nntp-open-tls-stream): Ditto.
+
+	* pgg.el: Don't bind itimer vars; don't autoload itimer functions.
+	(pgg-run-at-time-1): New macro.
+	(pgg-run-at-time): Use it.
+
+	* starttls.el (starttls-set-process-query-on-exit-flag): Alias to
+	set-process-query-on-exit-flag or process-kill-without-query.
+	(starttls-open-stream-gnutls): Use it instead of
+	process-kill-without-query.
+	(starttls-open-stream): Ditto.
+
+2005-05-31  Simon Josefsson  <jas@extundo.com>
+
+	* imap.el (imap-ssl-open): Use imap-process-connection-type,
+	instead of hard coding to nil.
+
+2005-05-31  Kevin Greiner  <kgreiner@xpediantsolutions.com>
+
+	* gnus-group.el (): Require gnus-sum and autoload functions to
+	resolve warnings when gnus-group.el compiled alone.
+
 2005-05-30  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* gnus-agent.el (gnus-agent-regenerate-group)
--- a/lisp/gnus/gnus-art.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Wed Jun 01 05:07:06 2005 +0000
@@ -2181,10 +2181,11 @@
 		   ;; The command is a string, so we interpret the command
 		   ;; as a, well, command, and fork it off.
 		   (let ((process-connection-type nil))
-		     (process-kill-without-query
+		     (gnus-set-process-query-on-exit-flag
 		      (start-process
 		       "article-x-face" nil shell-file-name
-		       shell-command-switch gnus-article-x-face-command))
+		       shell-command-switch gnus-article-x-face-command)
+		      nil)
 		     (with-temp-buffer
 		       (insert face)
 		       (process-send-region "article-x-face"
--- a/lisp/gnus/gnus-group.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/gnus-group.el	Wed Jun 01 05:07:06 2005 +0000
@@ -41,7 +41,11 @@
 (require 'time-date)
 (require 'gnus-ems)
 
-(eval-when-compile (require 'mm-url))
+(eval-when-compile
+  (require 'mm-url)
+  (let ((features (cons 'gnus-group features)))
+    (require 'gnus-sum))
+  (defvar gnus-cache-active-hashtb))
 
 (defcustom gnus-group-archive-directory
   "/ftp@ftp.hpc.uh.edu:/pub/emacs/ding-list/"
--- a/lisp/gnus/gnus-util.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/gnus-util.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1571,6 +1571,11 @@
 			 (file-truename
 			  (concat old-dir "..")))))))))
 
+(if (fboundp 'set-process-query-on-exit-flag)
+    (defalias 'gnus-set-process-query-on-exit-flag
+      'set-process-query-on-exit-flag)
+  (defalias 'gnus-set-process-query-on-exit-flag
+    'process-kill-without-query))
 
 (provide 'gnus-util)
 
--- a/lisp/gnus/html2text.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/html2text.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,5 +1,5 @@
 ;;; html2text.el --- a simple html to plain text converter
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Joakim Hove <hove@phys.ntnu.no>
 
@@ -374,7 +374,8 @@
 fashion, quite close to pure guess-work. It does work in some cases though."
   (interactive)
   (goto-char (point-min))
-  (replace-regexp "^<br>$" "")
+  (while (re-search-forward "^<br>$" nil t)
+    (delete-region (match-beginning 0) (match-end 0)))
   ;; Removing lonely <br> on a single line, if they are left intact we
   ;; dont have any paragraphs at all.
   (goto-char (point-min))
--- a/lisp/gnus/imap.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/imap.el	Wed Jun 01 05:07:06 2005 +0000
@@ -640,7 +640,11 @@
       (let* ((port (or port imap-default-ssl-port))
 	     (coding-system-for-read imap-coding-system-for-read)
 	     (coding-system-for-write imap-coding-system-for-write)
-	     (process-connection-type nil)
+	     (process-connection-type imap-process-connection-type)
+	     (set-process-query-on-exit-flag
+	      (if (fboundp 'set-process-query-on-exit-flag)
+		  'set-process-query-on-exit-flag
+		'process-kill-without-query))
 	     process)
 	(when (progn
 		(setq process (start-process
@@ -650,7 +654,7 @@
 					    (format-spec-make
 					     ?s server
 					     ?p (number-to-string port)))))
-		(process-kill-without-query process)
+		(funcall set-process-query-on-exit-flag process nil)
 		process)
 	  (with-current-buffer buffer
 	    (goto-char (point-min))
--- a/lisp/gnus/mm-util.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/mm-util.el	Wed Jun 01 05:07:06 2005 +0000
@@ -889,22 +889,28 @@
 `find-file-hooks', etc.
 If INHIBIT is non-nil, inhibit `mm-inhibit-file-name-handlers'.
   This function ensures that none of these modifications will take place."
-  (let ((format-alist nil)
-	(auto-mode-alist (if inhibit nil (mm-auto-mode-alist)))
-	(default-major-mode 'fundamental-mode)
-	(enable-local-variables nil)
-	(after-insert-file-functions nil)
-	(enable-local-eval nil)
-	(find-file-hooks nil)
-	(inhibit-file-name-operation (if inhibit
-					 'insert-file-contents
-				       inhibit-file-name-operation))
-	(inhibit-file-name-handlers
-	 (if inhibit
-	     (append mm-inhibit-file-name-handlers
-		     inhibit-file-name-handlers)
-	   inhibit-file-name-handlers)))
-    (insert-file-contents filename visit beg end replace)))
+  (let* ((format-alist nil)
+	 (auto-mode-alist (if inhibit nil (mm-auto-mode-alist)))
+	 (default-major-mode 'fundamental-mode)
+	 (enable-local-variables nil)
+	 (after-insert-file-functions nil)
+	 (enable-local-eval nil)
+	 (inhibit-file-name-operation (if inhibit
+					  'insert-file-contents
+					inhibit-file-name-operation))
+	 (inhibit-file-name-handlers
+	  (if inhibit
+	      (append mm-inhibit-file-name-handlers
+		      inhibit-file-name-handlers)
+	    inhibit-file-name-handlers))
+	 (ffh (if (boundp 'find-file-hook)
+		  'find-file-hook
+		'find-file-hooks))
+	 (val (symbol-value ffh)))
+    (set ffh nil)
+    (unwind-protect
+	(insert-file-contents filename visit beg end replace)
+      (set ffh val))))
 
 (defun mm-append-to-file (start end filename &optional codesys inhibit)
   "Append the contents of the region to the end of file FILENAME.
--- a/lisp/gnus/mml1991.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/mml1991.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,5 +1,6 @@
 ;;; mml1991.el --- Old PGP message format (RFC 1991) support for MML
-;; Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2003, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Sascha Lüdecke <sascha@meta-x.de>,
 ;;	Simon Josefsson <simon@josefsson.org> (Mailcrypt interface, Gnus glue)
@@ -219,8 +220,10 @@
 
 ;; pgg wrapper
 
-(defvar pgg-output-buffer)
-(defvar pgg-errors-buffer)
+(eval-when-compile
+  (defvar pgg-default-user-id)
+  (defvar pgg-errors-buffer)
+  (defvar pgg-output-buffer))
 
 (defun mml1991-pgg-sign (cont)
   (let (headers cte)
--- a/lisp/gnus/mml2015.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/mml2015.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,5 +1,6 @@
 ;;; mml2015.el --- MIME Security with Pretty Good Privacy (PGP)
-;; Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
 ;; Keywords: PGP MIME MML
@@ -632,6 +633,7 @@
 ;;; pgg wrapper
 
 (eval-when-compile
+  (defvar pgg-default-user-id)
   (defvar pgg-errors-buffer)
   (defvar pgg-output-buffer))
 
--- a/lisp/gnus/nndraft.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/nndraft.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,6 +1,6 @@
 ;;; nndraft.el --- draft article access for Gnus
 
-;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003
+;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -174,8 +174,11 @@
     (setq buffer-file-name (expand-file-name file)
 	  buffer-auto-save-file-name (make-auto-save-file-name))
     (clear-visited-file-modtime)
-    (make-local-variable 'write-contents-hooks)
-    (push 'nndraft-generate-headers write-contents-hooks)
+    (let ((hook (if (boundp 'write-contents-functions)
+		    'write-contents-functions
+		  'write-contents-hooks)))
+      (gnus-make-local-hook hook)
+      (add-hook hook 'nndraft-generate-headers nil t))
     article))
 
 (deffoo nndraft-request-group (group &optional server dont-check)
--- a/lisp/gnus/nnheader.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/nnheader.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,7 +1,7 @@
 ;;; nnheader.el --- header access macros for Gnus and its backends
 
 ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996,
-;;        1997, 1998, 2000, 2001, 2002, 2003, 2004
+;;        1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
@@ -953,15 +953,21 @@
 (defun nnheader-find-file-noselect (&rest args)
   "Open a file with some variables bound.
 See `find-file-noselect' for the arguments."
-  (let ((format-alist nil)
-	(auto-mode-alist (mm-auto-mode-alist))
-	(default-major-mode 'fundamental-mode)
-	(enable-local-variables nil)
-	(after-insert-file-functions nil)
-	(enable-local-eval nil)
-	(find-file-hooks nil)
-	(coding-system-for-read nnheader-file-coding-system))
-    (apply 'find-file-noselect args)))
+  (let* ((format-alist nil)
+	 (auto-mode-alist (mm-auto-mode-alist))
+	 (default-major-mode 'fundamental-mode)
+	 (enable-local-variables nil)
+	 (after-insert-file-functions nil)
+	 (enable-local-eval nil)
+	 (coding-system-for-read nnheader-file-coding-system)
+	 (ffh (if (boundp 'find-file-hook)
+		  'find-file-hook
+		'find-file-hooks))
+	 (val (symbol-value ffh)))
+    (set ffh nil)
+    (unwind-protect
+	(apply 'find-file-noselect args)
+      (set ffh val))))
 
 (defun nnheader-directory-regular-files (dir)
   "Return a list of all regular files in DIR."
--- a/lisp/gnus/nntp.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/nntp.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1128,7 +1128,7 @@
       (nntp-kill-buffer pbuffer))
     (when (and (buffer-name pbuffer)
 	       process)
-      (process-kill-without-query process)
+      (gnus-set-process-query-on-exit-flag process nil)
       (if (and (nntp-wait-for process "^2.*\n" buffer nil t)
 	       (memq (process-status process) '(open run)))
 	  (prog1
@@ -1162,7 +1162,7 @@
 					   (format-spec-make
 					    ?s nntp-address
 					    ?p nntp-port-number)))))
-    (process-kill-without-query proc)
+    (gnus-set-process-query-on-exit-flag proc nil)
     (save-excursion
       (set-buffer buffer)
       (let ((nntp-connection-alist (list proc buffer nil)))
@@ -1173,7 +1173,7 @@
 
 (defun nntp-open-tls-stream (buffer)
   (let ((proc (open-tls-stream "nntpd" buffer nntp-address nntp-port-number)))
-    (process-kill-without-query proc)
+    (gnus-set-process-query-on-exit-flag proc nil)
     (save-excursion
       (set-buffer buffer)
       (let ((nntp-connection-alist (list proc buffer nil)))
--- a/lisp/gnus/pgg.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/pgg.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,6 +1,6 @@
 ;;; pgg.el --- glue for the various PGP implementations.
 
-;; Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2003, 2005 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Created: 1999/10/28
@@ -97,82 +97,76 @@
       (read-passwd prompt)))
 
 (eval-when-compile
-  (defvar itimer-process)
-  (defvar itimer-timer)
-  (autoload 'delete-itimer "itimer")
-  (autoload 'itimer-driver-start "itimer")
-  (autoload 'itimer-value "itimer")
-  (autoload 'set-itimer-function "itimer")
-  (autoload 'set-itimer-function-arguments "itimer")
-  (autoload 'set-itimer-restart "itimer")
-  (autoload 'start-itimer "itimer"))
+  (defmacro pgg-run-at-time-1 (time repeat function args)
+    (when (featurep 'xemacs)
+      (if (condition-case nil
+	      (let ((delete-itimer 'delete-itimer)
+		    (itimer-driver-start 'itimer-driver-start)
+		    (itimer-value 'itimer-value)
+		    (start-itimer 'start-itimer))
+		(unless (or (symbol-value 'itimer-process)
+			    (symbol-value 'itimer-timer))
+		  (funcall itimer-driver-start))
+		;; Check whether there is a bug to which the difference of
+		;; the present time and the time when the itimer driver was
+		;; woken up is subtracted from the initial itimer value.
+		(let* ((inhibit-quit t)
+		       (ctime (current-time))
+		       (itimer-timer-last-wakeup
+			(prog1
+			    ctime
+			  (setcar ctime (1- (car ctime)))))
+		       (itimer-list nil)
+		       (itimer (funcall start-itimer "pgg-run-at-time"
+					'ignore 5)))
+		  (sleep-for 0.1) ;; Accept the timeout interrupt.
+		  (prog1
+		      (> (funcall itimer-value itimer) 0)
+		    (funcall delete-itimer itimer))))
+	    (error nil))
+	  `(let ((time ,time))
+	     (apply #'start-itimer "pgg-run-at-time"
+		    ,function (if time (max time 1e-9) 1e-9)
+		    ,repeat nil t ,args)))
+      `(let ((time ,time)
+	     (itimers (list nil)))
+	 (setcar
+	  itimers
+	  (apply #'start-itimer "pgg-run-at-time"
+		 (lambda (itimers repeat function &rest args)
+		   (let ((itimer (car itimers)))
+		     (if repeat
+			 (progn
+			   (set-itimer-function
+			    itimer
+			    (lambda (itimer repeat function &rest args)
+			      (set-itimer-restart itimer repeat)
+			      (set-itimer-function itimer function)
+			      (set-itimer-function-arguments itimer args)
+			      (apply function args)))
+			   (set-itimer-function-arguments
+			    itimer
+			    (append (list itimer repeat function) args)))
+		       (set-itimer-function
+			itimer
+			(lambda (itimer function &rest args)
+			  (delete-itimer itimer)
+			  (apply function args)))
+		       (set-itimer-function-arguments
+			itimer
+			(append (list itimer function) args)))))
+		 1e-9 (if time (max time 1e-9) 1e-9)
+		 nil t itimers ,repeat ,function ,args))))))
 
 (eval-and-compile
-  (defalias
-    'pgg-run-at-time
-    (if (featurep 'xemacs)
-	(if (condition-case nil
-		(progn
-		  (unless (or itimer-process itimer-timer)
-		    (itimer-driver-start))
-		  ;; Check whether there is a bug to which the difference of
-		  ;; the present time and the time when the itimer driver was
-		  ;; woken up is subtracted from the initial itimer value.
-		  (let* ((inhibit-quit t)
-			 (ctime (current-time))
-			 (itimer-timer-last-wakeup
-			  (prog1
-			      ctime
-			    (setcar ctime (1- (car ctime)))))
-			 (itimer-list nil)
-			 (itimer (start-itimer "pgg-run-at-time" 'ignore 5)))
-		    (sleep-for 0.1) ;; Accept the timeout interrupt.
-		    (prog1
-			(> (itimer-value itimer) 0)
-		      (delete-itimer itimer))))
-	      (error nil))
-	    (lambda (time repeat function &rest args)
-	      "Emulating function run as `run-at-time'.
+  (if (featurep 'xemacs)
+      (defun pgg-run-at-time (time repeat function &rest args)
+	"Emulating function run as `run-at-time'.
 TIME should be nil meaning now, or a number of seconds from now.
 Return an itimer object which can be used in either `delete-itimer'
 or `cancel-timer'."
-	      (apply #'start-itimer "pgg-run-at-time"
-		     function (if time (max time 1e-9) 1e-9)
-		     repeat nil t args))
-	  (lambda (time repeat function &rest args)
-	    "Emulating function run as `run-at-time' in the right way.
-TIME should be nil meaning now, or a number of seconds from now.
-Return an itimer object which can be used in either `delete-itimer'
-or `cancel-timer'."
-	    (let ((itimers (list nil)))
-	      (setcar
-	       itimers
-	       (apply #'start-itimer "pgg-run-at-time"
-		      (lambda (itimers repeat function &rest args)
-			(let ((itimer (car itimers)))
-			  (if repeat
-			      (progn
-				(set-itimer-function
-				 itimer
-				 (lambda (itimer repeat function &rest args)
-				   (set-itimer-restart itimer repeat)
-				   (set-itimer-function itimer function)
-				   (set-itimer-function-arguments itimer args)
-				   (apply function args)))
-				(set-itimer-function-arguments
-				 itimer
-				 (append (list itimer repeat function) args)))
-			    (set-itimer-function
-			     itimer
-			     (lambda (itimer function &rest args)
-			       (delete-itimer itimer)
-			       (apply function args)))
-			    (set-itimer-function-arguments
-			     itimer
-			     (append (list itimer function) args)))))
-		      1e-9 (if time (max time 1e-9) 1e-9)
-		      nil t itimers repeat function args)))))
-      'run-at-time)))
+	(pgg-run-at-time-1 time repeat function args))
+    (defalias 'pgg-run-at-time 'run-at-time)))
 
 (defun pgg-add-passphrase-cache (key passphrase)
   (setq key (pgg-truncate-key-identifier key))
--- a/lisp/gnus/starttls.el	Tue May 31 23:10:14 2005 +0000
+++ b/lisp/gnus/starttls.el	Wed Jun 01 05:07:06 2005 +0000
@@ -1,6 +1,7 @@
 ;;; starttls.el --- STARTTLS functions
 
-;; Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2003, 2004, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Author: Simon Josefsson <simon@josefsson.org>
@@ -235,6 +236,12 @@
       (starttls-negotiate-gnutls process)
     (signal-process (process-id process) 'SIGALRM)))
 
+(if (fboundp 'set-process-query-on-exit-flag)
+    (defalias 'starttls-set-process-query-on-exit-flag
+      'set-process-query-on-exit-flag)
+  (defalias 'starttls-set-process-query-on-exit-flag
+    'process-kill-without-query))
+
 (defun starttls-open-stream-gnutls (name buffer host service)
   (message "Opening STARTTLS connection to `%s'..." host)
   (let* (done
@@ -246,7 +253,7 @@
 				  (int-to-string service)
 				service)
 			 starttls-extra-arguments)))
-    (process-kill-without-query process)
+    (starttls-set-process-query-on-exit-flag process nil)
     (while (and (processp process)
 		(eq (process-status process) 'run)
 		(save-excursion
@@ -286,7 +293,7 @@
 			   name buffer starttls-program
 			   host (format "%s" service)
 			   starttls-extra-args)))
-      (process-kill-without-query process)
+      (starttls-set-process-query-on-exit-flag process nil)
       process)))
 
 (provide 'starttls)