changeset 34:d620409f5eb8 r19-15b100

Import from CVS: tag r19-15b100
author cvs
date Mon, 13 Aug 2007 08:53:20 +0200
parents 9ee3cade837d
children 279432d5c479
files CHANGES-beta lib-src/update-elc.sh lisp/comint/comint-xemacs.el lisp/comint/comint.el lisp/custom/ChangeLog lisp/custom/cus-edit.el lisp/custom/cus-face.el lisp/custom/custom.el lisp/custom/wid-browse.el lisp/custom/wid-edit.el lisp/custom/widget-example.el lisp/custom/widget.el lisp/gnus/ChangeLog lisp/gnus/gnus-group.el lisp/gnus/gnus-load.el lisp/gnus/gnus-msg.el lisp/gnus/gnus-srvr.el lisp/gnus/gnus-sum.el lisp/gnus/gnus.el lisp/gnus/message.el lisp/gnus/nndoc.el lisp/gnus/nneething.el lisp/gnus/nnfolder.el lisp/gnus/nnheader.el lisp/gnus/nnmail.el lisp/gnus/nnml.el lisp/prim/auto-autoloads.el lisp/prim/custom-load.el lisp/utils/autoload.el lisp/version.el man/custom.texi man/gnus.texi man/internals/internals.texi man/widget.texi src/Makefile.in.in src/alloc.c src/glyphs-x.c src/redisplay-x.c
diffstat 38 files changed, 390 insertions(+), 179 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES-beta	Mon Aug 13 08:52:58 2007 +0200
+++ b/CHANGES-beta	Mon Aug 13 08:53:20 2007 +0200
@@ -1,4 +1,13 @@
 							-*- indented-text -*-
+to 19.15 beta100
+-- GIF crash fix courtesy of David Moore
+-- Fix for problem dumping comint with sparcworks
+-- Fixes for problems during build with dynamic puresize
+-- xpm background color patch courtesy of Darrell Kindred
+-- Custom-1.64
+-- Gnus-5.4.28
+-- Miscellaneous bug fixes
+
 to 19.15 beta99
 -- Update to time.el.
 -- htmlpro DTD, IE3 DTDs added to etc/sgml.
--- a/lib-src/update-elc.sh	Mon Aug 13 08:52:58 2007 +0200
+++ b/lib-src/update-elc.sh	Mon Aug 13 08:53:20 2007 +0200
@@ -15,8 +15,7 @@
 ##  and 'etc'.  (If this is a Sun workspace, you can run it from
 ##  'era-specific' instead.)
 
-set -eu
-unset MAKEFLAGS   # GNU make sets MAKEFLAGS to -w; confuses non-GNU make
+set -e
 
 # This means we're running in a Sun workspace
 if [ -d ../era-specific ]; then
@@ -57,7 +56,7 @@
 echo "Recompiling in `pwd|sed 's|^/tmp_mnt||'`"
 echo "          with $REAL..."
 
-$EMACS -batch -q -no-site-file -l cleantree -f batch-remove-old-elc lisp
+$EMACS -batch -q -l `pwd`/lisp/prim/cleantree -f batch-remove-old-elc lisp
 
 prune_vc="( -name SCCS -o -name RCS -o -name CVS ) -prune -o"
 
@@ -186,9 +185,3 @@
 echo Compiling AUC TeX...
 ( cd lisp/auctex ; ${MAKE:-make} some -f Makefile EMACS=$REAL )
 echo AUC TeX done.
-
-#
-# Now get the files whose .el is newer than .elc
-#
-echo Compiling files with out-of-date .elc...
-$BYTECOMP -f batch-byte-recompile-directory lisp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lisp/comint/comint-xemacs.el	Mon Aug 13 08:53:20 2007 +0200
@@ -0,0 +1,53 @@
+;;; comint-xemacs.el --- Face customizations for comint
+
+;; Copyright (C) 1997 by Free Software Foundation, Inc.
+
+;; Author: Steven L Baur <steve@altair.xemacs.org>
+;; Keywords: help, faces
+
+;; This file is part of XEmacs.
+
+;; XEmacs 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.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING.  If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
+;; Declare customizable faces for comint outside the main code so it can
+;; be dumped with XEmacs.
+
+;;; Code:
+
+(defface comint-input-face '((((class color)
+			      (background dark))
+			     (:foreground "red"))
+			    (((class color)
+			      (background light))
+			     (:foreground "blue"))
+			    (((class mono))
+			     (:bold t))
+			    (((class grayscale))
+			     (:bold t))
+			    (t 
+			     (:bold t)))
+  "How to display user input for comint shells."
+  :group 'comint-input-face)
+
+
+
+(provide 'comint-xemacs)
+
+;;; comint-xemacs.el ends here
--- a/lisp/comint/comint.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/comint/comint.el	Mon Aug 13 08:53:20 2007 +0200
@@ -355,21 +355,6 @@
 (put 'comint-scroll-show-maximum-output 'permanent-local t)
 (put 'comint-ptyp 'permanent-local t)
 
-(defface comint-input-face '((((class color)
-			      (background dark))
-			     (:foreground "red"))
-			    (((class color)
-			      (background light))
-			     (:foreground "blue"))
-			    (((class mono))
-			     (:bold t))
-			    (((class grayscale))
-			     (:bold t))
-			    (t 
-			     (:bold t)))
-  "How to display user input for comint shells."
-  :group 'comint-input-face)
-
 
 
 (defun comint-mode ()
@@ -1384,6 +1369,7 @@
 
 (defun comint-input-setup ()
   "Insure the comint-input-extent is ready."
+  (require 'comint-xemacs)
   (setq comint-input-extent (make-extent (point) (point-max)))
   (set-extent-property comint-input-extent 'detachable nil)
   (set-extent-property comint-input-extent 'start-closed t)
--- a/lisp/custom/ChangeLog	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/ChangeLog	Mon Aug 13 08:53:20 2007 +0200
@@ -1,3 +1,18 @@
+Mon Mar 17 11:32:51 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* Version 1.64 released.
+
+Mon Mar 17 10:43:10 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+	* cus-edit.el (custom-group-menu-create): Split definition into
+	XEmacs and Emacs.  XEmacs uses :filter.  Emacs limits
+	`custom-menu-nesting'. 
+	(custom-menu-create): Do noy limit `custom-menu-nesting' here. 
+	(custom-menu-update): Removed XEmacs support.
+
+	* custom.el (custom-help-menu): Use `custom-menu-create' in XEmacs
+	:filter.
+
 Fri Mar 14 18:03:55 1997  Per Abrahamsen  <abraham@dina.kvl.dk>
 
 	* Version 1.63 released.
--- a/lisp/custom/cus-edit.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/cus-edit.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
@@ -1803,9 +1803,19 @@
 				   ':style 'toggle
 				   ':selected symbol)))
 
-(defun custom-group-menu-create (widget symbol)
-  "Ignoring WIDGET, create a menu entry for customization group SYMBOL."
-  (custom-menu-create symbol))
+(if (string-match "XEmacs" emacs-version)
+    ;; XEmacs can create menus dynamically.
+    (defun custom-group-menu-create (widget symbol)
+      "Ignoring WIDGET, create a menu entry for customization group SYMBOL."
+      `( ,(custom-unlispify-menu-entry symbol t)
+	  :filter (lambda (&rest junk)
+		    (cdr (custom-menu-create ',symbol)))))
+  ;; But emacs can't.
+  (defun custom-group-menu-create (widget symbol)
+    "Ignoring WIDGET, create a menu entry for customization group SYMBOL."
+    ;; Limit the nesting.
+    (let ((custom-menu-nesting (1- custom-menu-nesting)))
+      (custom-menu-create symbol))))
 
 (defun custom-menu-create (symbol &optional name)
   "Create menu for customization group SYMBOL.
@@ -1817,10 +1827,9 @@
   (let ((item (vector name
 		      `(custom-buffer-create '((,symbol custom-group)))
 		      t)))
-    (if (and (> custom-menu-nesting 0)
+    (if (and (>= custom-menu-nesting 0)
 	     (< (length (get symbol 'custom-group)) widget-menu-max-size))
-	(let ((custom-menu-nesting (1- custom-menu-nesting))
-	      (custom-prefix-list (custom-prefix-add symbol
+	(let ((custom-prefix-list (custom-prefix-add symbol
 						     custom-prefix-list)))
 	  (custom-load-symbol symbol)
 	  `(,(custom-unlispify-menu-entry symbol t)
@@ -1841,17 +1850,11 @@
   (add-hook 'custom-define-hook 'custom-menu-reset)
   (let* ((emacs (widget-apply '(custom-group) :custom-menu 'emacs))
 	 (menu `(,(car custom-help-menu)
-		,emacs
-		,@(cdr (cdr custom-help-menu)))))
-    (if (fboundp 'add-submenu)
-	(progn 
-	  (add-submenu '("Options") menu)
-	  (cdr emacs))
-      (let ((map (easy-menu-create-keymaps (car menu) (cdr menu))))
-	(define-key global-map [menu-bar help-menu customize-menu]
-	  (cons (car menu) map))
-	(when (fboundp 'x-popup-menu)
-	  (x-popup-menu event map))))))
+		 ,emacs
+		 ,@(cdr (cdr custom-help-menu)))))
+    (let ((map (easy-menu-create-keymaps (car menu) (cdr menu))))
+      (define-key global-map [menu-bar help-menu customize-menu]
+	(cons (car menu) map)))))
 
 ;;; Dependencies.
 
--- a/lisp/custom/cus-face.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/cus-face.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
--- a/lisp/custom/custom.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/custom.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, faces
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
@@ -297,15 +297,17 @@
 
 ;;; Menu support
 
-(defconst custom-help-menu `("Customize"
-			     ,(if (string-match "XEmacs" emacs-version)
-				  '("Emacs" :filter custom-menu-update)
-				["Update menu..." custom-menu-update t])
-			     ["Group..." customize t]
-			     ["Variable..." customize-variable t]
-			     ["Face..." customize-face t]
-			     ["Saved..." customize-customized t]
-			     ["Apropos..." customize-apropos t])
+(defconst custom-help-menu
+  `("Customize"
+    ,(if (string-match "XEmacs" emacs-version)
+	 '("Emacs" :filter (lambda (&rest junk)
+			     (cdr (custom-menu-create 'emacs))))
+       ["Update menu..." custom-menu-update t])
+    ["Group..." customize t]
+    ["Variable..." customize-variable t]
+    ["Face..." customize-face t]
+    ["Saved..." customize-customized t]
+    ["Apropos..." customize-apropos t])
   "Customize menu")
 
 (defun custom-menu-reset ()
@@ -319,7 +321,8 @@
 	    (easy-menu-create-keymaps (car custom-help-menu)
 				      (cdr custom-help-menu))))))
 
-(unless (string-match "XEmacs" emacs-version)
+(if (string-match "XEmacs" emacs-version)
+    (autoload 'custom-menu-create "cus-edit")
   (custom-menu-reset))
 
 ;;; The End.
--- a/lisp/custom/wid-browse.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/wid-browse.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
--- a/lisp/custom/wid-edit.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/wid-edit.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: extensions
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
--- a/lisp/custom/widget-example.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/widget-example.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 (require 'widget)
--- a/lisp/custom/widget.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/custom/widget.el	Mon Aug 13 08:53:20 2007 +0200
@@ -4,7 +4,7 @@
 ;;
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: help, extensions, faces, hypermedia
-;; Version: 1.63
+;; Version: 1.64
 ;; X-URL: http://www.dina.kvl.dk/~abraham/custom/
 
 ;;; Commentary:
--- a/lisp/gnus/ChangeLog	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/ChangeLog	Mon Aug 13 08:53:20 2007 +0200
@@ -1,3 +1,80 @@
+Tue Mar 18 00:35:06 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+	* gnus.el: Gnus v5.4.28 is released.
+
+Mon Mar 17 18:36:11 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-sum.el (gnus-update-marks): Use `list' instead of
+	`articles'.
+
+	* nndoc.el (nndoc-rfc822-forward-type-p): Renamed.
+	(nndoc-rfc822-forward-body-end-function): Ditto.
+
+Mon Mar 17 17:35:35 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+	* gnus.el: Gnus v5.4.27 is released.
+
+Mon Mar 17 15:59:11 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* nndoc.el (nndoc-x400-forward-type-p): New function.
+	(nndoc-x400-forward-body-end-function): Ditto.
+
+	* nnfolder.el (nnfolder-adjust-min-active): Be in the right
+	buffer. 
+
+Sat Mar 15 16:09:44 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* message.el (message-post-method): Fix typo.
+
+	* gnus-load.el (message-sending): Fix typo.
+
+Mon Mar 17 15:47:59 1997  Gordon Matzigkeit  <gord@m-tech.ab.ca>
+
+	* message.el (message-set-auto-save-file-name): Expand before
+	temping. 
+
+Mon Mar 17 15:05:44 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* gnus-sum.el (gnus-update-marks): Get rid of article entries of
+	articles with the default score.
+
+	* gnus-group.el (gnus-group-read-ephemeral-group): Be more careful
+	when uniquifying methods.
+
+	* gnus-sum.el (gnus-execute-command): Insert asynch into buffer.
+
+	* nnfolder.el (nnfolder-possibly-change-group): Didn't set the
+	current group.
+
+Mon Mar 17 15:03:02 1997  Paul Stodghill  <stodghil@cs.cornell.edu>
+
+	* gnus-srvr.el (gnus-server-prepare): Would infloop.
+
+Mon Mar 17 06:37:07 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* nnmail.el (nnmail-crosspost-link-function): Change default on
+	NT. 
+
+Fri Mar 14 12:07:12 1997  Steven L Baur  <steve@altair.xemacs.org>
+
+	* gnus-msg.el (gnus-extended-version): Add XEmacs beta # to
+	default X-Mailer/X-Newsreader.
+
+Fri Mar 14 20:57:03 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+	* nnfolder.el (nnfolder-possibly-change-group): Check folder
+	buffer. 
+
+	* nnheader.el (nnheader-parse-head): Understand Message-ID with
+	spaces. 
+	* gnus-sum.el (gnus-get-newsgroup-headers): Ditto.
+	(gnus-group-make-articles-read): Doc fix.
+
+	* nnml.el (nnml-generate-nov-databases-1): Made interactive.
+
+	* gnus-msg.el (gnus-inews-narrow-to-headers): Removed.
+	(gnus-post-news): Add `to-list' to the right group.
+
 Fri Mar 14 20:11:01 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 	* gnus.el: Gnus v5.4.26 is released.
@@ -74,11 +151,6 @@
 
 	* nnfolder.el (nnfolder-generate-active-file): Didn't work.
 
-Fri Mar 14 12:07:12 1997  Steven L Baur  <steve@altair.xemacs.org>
-
-	* gnus-msg.el (gnus-extended-version): Add XEmacs beta # to
-	default X-Mailer/X-Newsreader.
-
 Sun Mar  9 18:38:37 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
 	* gnus.el: Gnus v5.4.25 is released.
--- a/lisp/gnus/gnus-group.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus-group.el	Mon Aug 13 08:53:20 2007 +0200
@@ -1560,10 +1560,12 @@
   ;; Transform the select method into a unique server.
   (let ((saddr (intern (format "%s-address" (car method)))))
     (setq method (gnus-copy-sequence method))
-    (unless (assq saddr method)
-      (nconc method `((,saddr ,(cadr method)))))
-    (setf (cadr method) (format "%s-%d" (cadr method)
-				(incf gnus-ephemeral-group-server))))
+    (require (car method))
+    (when (boundp saddr)
+      (unless (assq saddr method)
+	(nconc method `((,saddr ,(cadr method)))))
+      (setf (cadr method) (format "%s-%d" (cadr method)
+				  (incf gnus-ephemeral-group-server)))))
   (let ((group (if (gnus-group-foreign-p group) group
 		 (gnus-group-prefixed-name group method))))
     (gnus-sethash
--- a/lisp/gnus/gnus-load.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus-load.el	Mon Aug 13 08:53:20 2007 +0200
@@ -5,12 +5,10 @@
 (put 'nnmail 'custom-loads '("nnmail"))
 (put 'gnus-article-emphasis 'custom-loads '("gnus-art"))
 (put 'gnus-article-headers 'custom-loads '("gnus-sum" "gnus-art"))
-(put 'gnus-newsrc 'custom-loads '("gnus-start"))
 (put 'nnmail-procmail 'custom-loads '("nnmail"))
 (put 'gnus-score-kill 'custom-loads '("gnus-kill"))
 (put 'gnus-visual 'custom-loads '("smiley" "gnus" "gnus-picon" "gnus-art" "earcon"))
 (put 'gnus-score-expire 'custom-loads '("gnus-score" "gnus-kill"))
-(put 'gnus-exit 'custom-loads '("gnus-group"))
 (put 'gnus-summary-maneuvering 'custom-loads '("gnus-sum"))
 (put 'gnus-start 'custom-loads '("gnus" "gnus-util" "gnus-start" "gnus-int" "gnus-group"))
 (put 'gnus-extract-view 'custom-loads '("gnus-uu" "gnus-sum"))
@@ -28,7 +26,6 @@
 (put 'gnus-summary-exit 'custom-loads '("gnus-sum"))
 (put 'news 'custom-loads '("message" "gnus"))
 (put 'gnus 'custom-loads '("nnmail" "gnus" "gnus-win" "gnus-uu" "gnus-eform" "gnus-dup" "gnus-demon" "gnus-cache" "gnus-async" "gnus-art"))
-(put 'gnus-server 'custom-loads '("gnus"))
 (put 'gnus-summary-visual 'custom-loads '("gnus-sum"))
 (put 'gnus-group-listing 'custom-loads '("gnus-group"))
 (put 'gnus-score 'custom-loads '("gnus" "gnus-nocem"))
@@ -38,7 +35,6 @@
 (put 'gnus-score-decay 'custom-loads '("gnus-score"))
 (put 'help 'custom-loads '("cus-edit"))
 (put 'gnus-nocem 'custom-loads '("gnus-nocem"))
-(put 'gnus-group-visual 'custom-loads '("gnus-group"))
 (put 'gnus-cite 'custom-loads '("gnus-cite"))
 (put 'gnus-demon 'custom-loads '("gnus-demon"))
 (put 'gnus-message 'custom-loads '("message"))
@@ -56,6 +52,7 @@
 (put 'external 'custom-loads '("cus-edit"))
 (put 'message-headers 'custom-loads '("message"))
 (put 'message-forwarding 'custom-loads '("message"))
+(put 'message-faces 'custom-loads '("message"))
 (put 'environment 'custom-loads '("cus-edit"))
 (put 'gnus-article-mime 'custom-loads '("gnus-sum" "gnus-art"))
 (put 'gnus-duplicate 'custom-loads '("gnus-dup"))
@@ -63,7 +60,7 @@
 (put 'widgets 'custom-loads '("wid-edit" "wid-browse"))
 (put 'earcon 'custom-loads '("earcon"))
 (put 'hypermedia 'custom-loads '("wid-edit"))
-(put 'gnus-group-levels 'custom-loads '("gnus-start" "gnus-group"))
+(put 'gnus-group-levels 'custom-loads '("gnus-group"))
 (put 'gnus-summary-format 'custom-loads '("gnus-sum"))
 (put 'gnus-files 'custom-loads '("nnmail" "gnus"))
 (put 'gnus-windows 'custom-loads '("gnus-win"))
@@ -76,10 +73,9 @@
 (put 'gnus-article-saving 'custom-loads '("gnus-art"))
 (put 'nnmail-expire 'custom-loads '("nnmail"))
 (put 'message-mail 'custom-loads '("message"))
-(put 'faces 'custom-loads '("wid-edit" "cus-edit" "gnus"))
+(put 'faces 'custom-loads '("wid-edit" "cus-edit" "message" "gnus"))
 (put 'gnus-summary-various 'custom-loads '("gnus-sum"))
 (put 'applications 'custom-loads '("cus-edit"))
-(put 'gnus-start-server 'custom-loads '("gnus-start"))
 (put 'gnus-extract-archive 'custom-loads '("gnus-uu"))
 (put 'message 'custom-loads '("message"))
 (put 'message-sending 'custom-loads '("message"))
@@ -89,17 +85,14 @@
 (put 'gnus-extract-post 'custom-loads '("gnus-uu"))
 (put 'mail 'custom-loads '("message" "gnus"))
 (put 'gnus-summary-sort 'custom-loads '("gnus-sum"))
-(put 'gnus-group-new 'custom-loads '("gnus-start"))
 (put 'customize 'custom-loads '("wid-edit" "custom" "cus-face" "cus-edit"))
 (put 'nnmail-split 'custom-loads '("nnmail"))
 (put 'gnus-asynchronous 'custom-loads '("gnus-async"))
-(put 'gnus-dribble-file 'custom-loads '("gnus-start"))
 (put 'gnus-article-highlight 'custom-loads '("gnus-art"))
 (put 'gnus-extract 'custom-loads '("gnus-uu"))
 (put 'gnus-article 'custom-loads '("gnus-cite" "gnus-art"))
 (put 'gnus-group-foreign 'custom-loads '("gnus-group"))
 (put 'programming 'custom-loads '("cus-edit"))
-(put 'message-sending 'custom-loads '("message"))
 (put 'nnmail-prepare 'custom-loads '("nnmail"))
 (put 'picons 'custom-loads '("gnus-picon"))
 (put 'gnus-article-signature 'custom-loads '("gnus-art"))
--- a/lisp/gnus/gnus-msg.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus-msg.el	Mon Aug 13 08:53:20 2007 +0200
@@ -407,7 +407,7 @@
 		(message-mail (or to-address to-list))
 		;; Arrange for mail groups that have no `to-address' to
 		;; get that when the user sends off the mail.
-		(push (list 'gnus-inews-add-to-address group)
+		(push (list 'gnus-inews-add-to-address pgroup)
 		      message-send-actions))
 	    (set-buffer gnus-article-copy)
 	    (message-wide-reply to-address)))
@@ -471,16 +471,6 @@
      ;; Use the normal select method.
      (t gnus-select-method))))
 
-(defun gnus-inews-narrow-to-headers ()
-  (widen)
-  (narrow-to-region
-   (goto-char (point-min))
-   (or (and (re-search-forward
-	     (concat "^" (regexp-quote mail-header-separator) "$") nil t)
-	    (match-beginning 0))
-       (point-max)))
-  (goto-char (point-min)))
-
 ;;;
 ;;; Check whether the message has been sent already.
 ;;;
@@ -490,7 +480,7 @@
 (defun gnus-inews-reject-message ()
   "Check whether this message has already been sent."
   (when gnus-sent-message-ids-file
-    (let ((message-id (save-restriction (gnus-inews-narrow-to-headers)
+    (let ((message-id (save-restriction (message-narrow-to-headers)
 					(mail-fetch-field "message-id")))
 	  end)
       (when message-id
@@ -754,7 +744,7 @@
     (save-excursion
       (save-restriction
 	(widen)
-	(gnus-inews-narrow-to-headers)
+	(message-narrow-to-headers)
 	(let (gnus-deletable-headers)
 	  (if (message-news-p)
 	      (message-generate-headers message-required-news-headers)
@@ -955,7 +945,7 @@
   "Insert Gcc headers based on `gnus-outgoing-message-group'."
   (save-excursion
     (save-restriction
-      (gnus-inews-narrow-to-headers)
+      (message-narrow-to-headers)
       (let* ((group gnus-outgoing-message-group)
 	     (gcc (cond
 		   ((gnus-functionp group)
@@ -1014,7 +1004,7 @@
 	(setq groups (list groups)))
       (save-excursion
 	(save-restriction
-	  (gnus-inews-narrow-to-headers)
+	  (message-narrow-to-headers)
 	  (goto-char (point-max))
 	  (insert "Gcc: ")
 	  (if (and gnus-newsgroup-name
--- a/lisp/gnus/gnus-srvr.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus-srvr.el	Mon Aug 13 08:53:20 2007 +0200
@@ -211,7 +211,9 @@
 	(push (cdar alist) done)
 	(cdr (setq server (pop alist)))
 	(when (and server (car server) (cdr server))
-	  (gnus-server-insert-server-line (car server) (cdr server)))))
+	  (gnus-server-insert-server-line (car server) (cdr server))))
+      (when (member (cdar alist) done)
+	(pop alist)))
     ;; Then we insert the list of servers that have been opened in
     ;; this session.
     (while opened
--- a/lisp/gnus/gnus-sum.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus-sum.el	Mon Aug 13 08:53:20 2007 +0200
@@ -126,7 +126,8 @@
 		 (const more)
 		 (sexp :menu-tag "all" t)))
 
-(defcustom gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject
+(defcustom gnus-summary-thread-gathering-function
+  'gnus-gather-threads-by-subject
   "Function used for gathering loose threads.
 There are two pre-defined functions: `gnus-gather-threads-by-subject',
 which only takes Subjects into consideration; and
@@ -3819,12 +3820,28 @@
 	type list newmarked symbol)
     (when info
       ;; Add all marks lists that are non-nil to the list of marks lists.
-      (while types
-	(setq type (pop types))
+      (while (setq type (pop types))
 	(when (setq list (symbol-value
 			  (setq symbol
 				(intern (format "gnus-newsgroup-%s"
 						(car type))))))
+
+	  ;; Get rid of the entries of the articles that have the
+	  ;; default score.
+	  (when (and (eq (cdr type) 'score)
+		     gnus-save-score
+		     list)
+	    (let* ((arts list)
+		   (prev (cons nil articles))
+		   (all prev))
+	      (while arts
+		(if (or (not (consp (car arts)))
+			(= (cdar arts) gnus-summary-default-score))
+		    (setcdr prev (cdr arts))
+		  (setq prev arts))
+		(setq arts (cdr arts)))
+	      (setq list (cdr all))))
+
 	  (push (cons (cdr type)
 		      (if (memq (cdr type) uncompressed) list
 			(gnus-compress-sequence
@@ -3972,7 +3989,7 @@
 	 xref-hashtb)))))
 
 (defun gnus-group-make-articles-read (group articles)
-  "Update the info of GROUP to say that only ARTICLES are unread."
+  "Update the info of GROUP to say that ARTICLES are read."
   (let* ((num 0)
 	 (entry (gnus-gethash group gnus-newsrc-hashtb))
 	 (info (nth 2 entry))
@@ -4104,8 +4121,10 @@
 	    ;; Message-ID.
 	    (progn
 	      (goto-char p)
-	      (setq id (if (search-forward "\nmessage-id: " nil t)
-			   (nnheader-header-value)
+	      (setq id (if (search-forward "\nmessage-id:" nil t)
+			   (buffer-substring
+			    (1- (or (search-forward "<" nil t) (point)))
+			    (or (search-forward ">" nil t) (point)))
 			 ;; If there was no message-id, we just fake one
 			 ;; to make subsequent routines simpler.
 			 (nnheader-generate-fake-message-id))))
@@ -8344,16 +8363,11 @@
     (gnus-article-setup-buffer)
     (set-buffer gnus-article-buffer)
     (setq buffer-read-only nil)
-    (let ((command (if automatic command (read-string "Command: " command)))
-	  ;; Just binding this here doesn't help, because there might
-	  ;; be output from the process after exiting the scope of
-	  ;; this `let'.
-	  ;; (buffer-read-only nil)
-	  )
+    (let ((command (if automatic command (read-string "Command: " command))))
       (erase-buffer)
       (insert "$ " command "\n\n")
       (if gnus-view-pseudo-asynchronously
-	  (start-process "gnus-execute" nil shell-file-name
+	  (start-process "gnus-execute" (current-buffer) shell-file-name
 			 shell-command-switch command)
 	(call-process shell-file-name nil t nil
 		      shell-command-switch command)))))
--- a/lisp/gnus/gnus.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/gnus.el	Mon Aug 13 08:53:20 2007 +0200
@@ -226,7 +226,7 @@
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.26"
+(defconst gnus-version-number "5.4.28"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
--- a/lisp/gnus/message.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/message.el	Mon Aug 13 08:53:20 2007 +0200
@@ -2905,8 +2905,9 @@
     (unless (file-exists-p message-autosave-directory)
       (make-directory message-autosave-directory t))
     (let ((name (make-temp-name
-		 (concat (file-name-as-directory message-autosave-directory)
-			 "msg."))))
+		 (expand-file-name
+		  (concat (file-name-as-directory message-autosave-directory)
+			  "msg.")))))
       (setq buffer-auto-save-file-name
 	    (save-excursion
 	      (prog1
--- a/lisp/gnus/nndoc.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nndoc.el	Mon Aug 13 08:53:20 2007 +0200
@@ -37,8 +37,8 @@
 (defvoo nndoc-article-type 'guess
   "*Type of the file.
 One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward',
-`rfc934', `mime-digest', `standard-digest', `slack-digest',
-`clari-briefs' or `guess'.")
+`rfc934', `rfc822-forward', `mime-digest', `standard-digest',
+`slack-digest', `clari-briefs' or `guess'.")
 
 (defvoo nndoc-post-type 'mail
   "*Whether the nndoc group is `mail' or `post'.")
@@ -99,15 +99,18 @@
      (prepare-body-function . nndoc-unquote-dashes)
      (subtype digest guess))
     (lanl-gov-announce
-      (article-begin . "^\\\\\\\\\n")
-      (head-begin . "^Paper.*:")
-      (head-end   . "\\(^\\\\\\\\.*\n\\|-----------------\\)")
-      (body-begin . "")
-      (body-end   . "-------------------------------------------------")
-      (file-end   . "^Title: Recent Seminal")
-      (generate-head-function . nndoc-generate-lanl-gov-head)
-      (article-transform-function . nndoc-transform-lanl-gov-announce)
-      (subtype preprints guess))
+     (article-begin . "^\\\\\\\\\n")
+     (head-begin . "^Paper.*:")
+     (head-end   . "\\(^\\\\\\\\.*\n\\|-----------------\\)")
+     (body-begin . "")
+     (body-end   . "-------------------------------------------------")
+     (file-end   . "^Title: Recent Seminal")
+     (generate-head-function . nndoc-generate-lanl-gov-head)
+     (article-transform-function . nndoc-transform-lanl-gov-announce)
+     (subtype preprints guess))
+    (rfc822-forward
+     (article-begin . "^\n")
+     (body-end-function . nndoc-rfc822-forward-body-end-function))
     (guess
      (guess . t)
      (subtype nil))
@@ -116,8 +119,7 @@
      (subtype nil))
     (preprints
      (guess . t)
-     (subtype nil))
-    ))
+     (subtype nil))))
 
 
 
@@ -418,6 +420,15 @@
 	     (not (re-search-forward "^From:" nil t 2)))
     t))
 
+(defun nndoc-rfc822-forward-type-p ()
+  (save-restriction
+    (message-narrow-to-head)
+    (when (re-search-forward "^Content-Type: *message/rfc822" nil t)
+      t)))
+
+(defun nndoc-rfc822-forward-body-end-function ()
+  (goto-char (point-max)))
+
 (defun nndoc-clari-briefs-type-p ()
   (when (let ((case-fold-search nil))
 	  (re-search-forward "^\t[^a-z]+ ([^a-z]+) --" nil t))
--- a/lisp/gnus/nneething.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nneething.el	Mon Aug 13 08:53:20 2007 +0200
@@ -24,10 +24,6 @@
 
 ;;; Commentary:
 
-;; Based on nnspool.el by Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>.
-;; For an overview of what the interface functions do, please see the
-;; Gnus sources.
-
 ;;; Code:
 
 (require 'nnheader)
@@ -39,13 +35,13 @@
 (nnoo-declare nneething)
 
 (defvoo nneething-map-file-directory "~/.nneething/"
-  "*Where nneething stores the map files.")
+  "Where nneething stores the map files.")
 
 (defvoo nneething-map-file ".nneething"
-  "*Name of the map files.")
+  "Name of the map files.")
 
 (defvoo nneething-exclude-files nil
-  "*Regexp saying what files to exclude from the group.
+  "Regexp saying what files to exclude from the group.
 If this variable is nil, no files will be excluded.")
 
 
@@ -64,7 +60,6 @@
 (defvoo nneething-message-id-number 0)
 (defvoo nneething-work-buffer " *nneething work*")
 
-(defvoo nneething-directory nil)
 (defvoo nneething-group nil)
 (defvoo nneething-map nil)
 (defvoo nneething-read-only nil)
@@ -130,8 +125,8 @@
 	     (insert "\n"))
 	   t))))
 
-(deffoo nneething-request-group (group &optional dir dont-check)
-  (nneething-possibly-change-directory group dir)
+(deffoo nneething-request-group (group &optional server dont-check)
+  (nneething-possibly-change-directory group server)
   (unless dont-check
     (nneething-create-mapping)
     (if (> (car nneething-active) (cdr nneething-active))
--- a/lisp/gnus/nnfolder.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nnfolder.el	Mon Aug 13 08:53:20 2007 +0200
@@ -353,7 +353,8 @@
 	 (nnfolder-delete-mail))
        (when last
 	 (nnfolder-save-buffer)
-	 (nnfolder-adjust-min-active group))))
+	 (nnfolder-adjust-min-active group)
+	 (nnmail-save-active nnfolder-group-alist nnfolder-active-file))))
     result))
 
 (deffoo nnfolder-request-accept-article (group &optional server last)
@@ -449,14 +450,16 @@
 	 (marker (concat "\n" nnfolder-article-marker))
 	 (number "[0-9]+")
 	 (activemin (cdr active)))
-    (goto-char (point-min))
-    (while (and (search-forward marker nil t)
-		(re-search-forward number nil t))
-      (setq activemin (min activemin
-			   (string-to-number (buffer-substring
-					      (match-beginning 0)
-					      (match-end 0))))))
-    (setcar active activemin)))
+    (save-excursion
+      (set-buffer nnfolder-current-buffer)
+      (goto-char (point-min))
+      (while (and (search-forward marker nil t)
+		  (re-search-forward number nil t))
+	(setq activemin (min activemin
+			     (string-to-number (buffer-substring
+						(match-beginning 0)
+						(match-end 0))))))
+      (setcar active activemin))))
 
 (defun nnfolder-article-string (article)
   (if (numberp article)
@@ -484,6 +487,9 @@
   (when (and server
 	     (not (nnfolder-server-opened server)))
     (nnfolder-open-server server))
+  (unless (gnus-buffer-live-p nnfolder-current-buffer)
+    (setq nnfolder-current-buffer nil
+	  nnfolder-current-group nil))
   ;; Change group.
   (when (and group
 	     (not (equal group nnfolder-current-group)))
@@ -495,7 +501,8 @@
       (push (list group (cons 1 0)) nnfolder-group-alist)
       (nnmail-save-active nnfolder-group-alist nnfolder-active-file))
 
-    (unless dont-check
+    (if dont-check
+	(setq nnfolder-current-group group)
       (let (inf file)
 	;; If we have to change groups, see if we don't already have the
 	;; folder in memory.  If we do, verify the modtime and destroy
--- a/lisp/gnus/nnheader.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nnheader.el	Mon Aug 13 08:53:20 2007 +0200
@@ -178,7 +178,7 @@
 	  ;; a case (which basically was the old function) is actually
 	  ;; about twice as fast, even though it looks messier.	 You
 	  ;; can't have everything, I guess.  Speed and elegance
-	  ;; doesn't always go hand in hand.
+	  ;; don't always go hand in hand.
 	  (vector
 	   ;; Number.
 	   (if naked
@@ -211,8 +211,10 @@
 	   ;; Message-ID.
 	   (progn
 	     (goto-char p)
-	     (if (search-forward "\nmessage-id: " nil t)
-		 (nnheader-header-value)
+	     (if (search-forward "\nmessage-id:" nil t)
+		 (buffer-substring
+		  (1- (or (search-forward "<" nil t) (point)))
+		  (or (search-forward ">" nil t) (point)))
 	       ;; If there was no message-id, we just fake one to make
 	       ;; subsequent routines simpler.
 	       (nnheader-generate-fake-message-id)))
--- a/lisp/gnus/nnmail.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nnmail.el	Mon Aug 13 08:53:20 2007 +0200
@@ -207,7 +207,10 @@
   :group 'nnmail-files
   :type 'function)
 
-(defcustom nnmail-crosspost-link-function 'add-name-to-file
+(defcustom nnmail-crosspost-link-function
+  (if (string-match "windows-nt\\|emx" (format "%s" system-type))
+      'copy-file
+    'add-name-to-file)
   "Function called to create a copy of a file.
 This is `add-name-to-file' by default, which means that crossposts
 will use hard links.  If your file system doesn't allow hard
--- a/lisp/gnus/nnml.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/gnus/nnml.el	Mon Aug 13 08:53:20 2007 +0200
@@ -674,7 +674,7 @@
 
 ;;;###autoload
 (defun nnml-generate-nov-databases ()
-  "Generate nov databases in all nnml directories."
+  "Generate NOV databases in all nnml directories."
   (interactive)
   ;; Read the active file to make sure we don't re-use articles
   ;; numbers in empty groups.
@@ -687,6 +687,8 @@
   (nnmail-save-active nnml-group-alist nnml-active-file))
 
 (defun nnml-generate-nov-databases-1 (dir &optional seen)
+  "Regenerate the NOV database in DIR."
+  (interactive "DRegenerate NOV in: ")
   (setq dir (file-name-as-directory dir))
   ;; Only scan this sub-tree if we haven't been here yet.
   (unless (member (file-truename dir) seen)
--- a/lisp/prim/auto-autoloads.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/prim/auto-autoloads.el	Mon Aug 13 08:53:20 2007 +0200
@@ -2223,7 +2223,7 @@
 ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el")
 
 (autoload 'nnml-generate-nov-databases "nnml" "\
-Generate nov databases in all nnml directories." t nil)
+Generate NOV databases in all nnml directories." t nil)
 
 ;;;***
 
@@ -3674,7 +3674,7 @@
 ;;;### (autoloads (ksh-mode) "ksh-mode" "modes/ksh-mode.el")
 
 (autoload 'ksh-mode "ksh-mode" "\
-ksh-mode $Revision: 1.13 $ - Major mode for editing (Bourne, Korn or Bourne again)
+ksh-mode $Revision: 1.14 $ - Major mode for editing (Bourne, Korn or Bourne again)
 shell scripts.
 Special key bindings and commands:
 \\{ksh-mode-map}
@@ -4946,7 +4946,7 @@
 
 (autoload 'vhdl-mode "vhdl-mode" "\
 Major mode for editing VHDL code.
-vhdl-mode $Revision: 1.13 $
+vhdl-mode $Revision: 1.14 $
 To submit a problem report, enter `\\[vhdl-submit-bug-report]' from a
 vhdl-mode buffer.  This automatically sets up a mail buffer with version
 information already added.  You just need to add a description of the
--- a/lisp/prim/custom-load.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/prim/custom-load.el	Mon Aug 13 08:53:20 2007 +0200
@@ -20,14 +20,14 @@
 (put 'gnus-article-washing 'custom-loads '("gnus-art"))
 (put 'mail 'custom-loads '("gnus" "message"))
 (put 'gnus-summary-exit 'custom-loads '("gnus-sum"))
-(put 'comint-input-face 'custom-loads '("comint"))
+(put 'comint-input-face 'custom-loads '("comint-xemacs"))
 (put 'gnus-article-saving 'custom-loads '("gnus-art"))
 (put 'gnus-extract-view 'custom-loads '("gnus-sum" "gnus-uu"))
 (put 'gnus-group-listing 'custom-loads '("gnus-group"))
 (put 'gnus-summary 'custom-loads '("gnus-sum" "gnus"))
-(put 'message-headers 'custom-loads '("auto-autoloads" "message"))
+(put 'message-headers 'custom-loads '("message"))
 (put 'gnus-group-select 'custom-loads '("gnus-sum"))
-(put 'display-time 'custom-loads '("time" "auto-autoloads"))
+(put 'display-time 'custom-loads '("time"))
 (put 'hypermedia 'custom-loads '("wid-edit"))
 (put 'w3-advanced 'custom-loads '("w3-cus"))
 (put 'w3-menus 'custom-loads '("w3-cus"))
@@ -43,7 +43,7 @@
 (put 'help 'custom-loads '("cus-edit"))
 (put 'nnmail-split 'custom-loads '("nnmail"))
 (put 'gnus-article-various 'custom-loads '("gnus-art" "gnus-sum"))
-(put 'message-sending 'custom-loads '("auto-autoloads" "message"))
+(put 'message-sending 'custom-loads '("message"))
 (put 'w3-files 'custom-loads '("w3-cus"))
 (put 'widget-browse 'custom-loads '("wid-browse"))
 (put 'gnus-article 'custom-loads '("gnus-art" "gnus-cite"))
@@ -79,8 +79,8 @@
 (put 'gnus-summary-choose 'custom-loads '("gnus-sum"))
 (put 'development 'custom-loads '("cus-edit"))
 (put 'gnus-windows 'custom-loads '("gnus-win"))
-(put 'message-mail 'custom-loads '("auto-autoloads" "message"))
-(put 'message-various 'custom-loads '("auto-autoloads" "message"))
+(put 'message-mail 'custom-loads '("message"))
+(put 'message-various 'custom-loads '("message"))
 (put 'gnus-group-levels 'custom-loads '("gnus-group"))
 (put 'languages 'custom-loads '("cus-edit"))
 (put 'gnus-summary-format 'custom-loads '("gnus-sum"))
@@ -92,7 +92,7 @@
 (put 'emacs 'custom-loads '("cus-edit" "dired-faces"))
 (put 'news 'custom-loads '("gnus" "message"))
 (put 'w3-hooks 'custom-loads '("w3-cus"))
-(put 'message-insertion 'custom-loads '("auto-autoloads" "message"))
+(put 'message-insertion 'custom-loads '("message"))
 (put 'wp 'custom-loads '("cus-edit"))
 (put 'message-faces 'custom-loads '("message"))
 (put 'gnus-score-files 'custom-loads '("gnus-score"))
--- a/lisp/utils/autoload.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/utils/autoload.el	Mon Aug 13 08:53:20 2007 +0200
@@ -344,7 +344,9 @@
   (let ((visited (get-file-buffer file)))
     (save-excursion
       (set-buffer (or visited (find-file-noselect file)))
-      (when (and file (string-match "\\`\\(.*\\)\\.el\\'" file))
+      (when (and file
+		 (string-match "\\`\\(.*\\)\\.el\\'" file)
+		 (not (buffer-modified-p)))
 	(goto-char (point-min))
 	(condition-case nil
 	    (let ((name (file-name-nondirectory (match-string 1 file))))
--- a/lisp/version.el	Mon Aug 13 08:52:58 2007 +0200
+++ b/lisp/version.el	Mon Aug 13 08:53:20 2007 +0200
@@ -26,7 +26,7 @@
 (defconst emacs-version "19.15" "\
 Version numbers of this version of Emacs.")
 
-(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta99)")))
+(setq emacs-version (purecopy (concat emacs-version " XEmacs Lucid (beta100)")))
 
 (defconst emacs-major-version
   (progn (or (string-match "^[0-9]+" emacs-version)
--- a/man/custom.texi	Mon Aug 13 08:52:58 2007 +0200
+++ b/man/custom.texi	Mon Aug 13 08:53:20 2007 +0200
@@ -13,7 +13,7 @@
 @comment  node-name,  next,  previous,  up
 @top The Customization Library
 
-Version: 1.63
+Version: 1.64
 
 @menu
 * Introduction::                
--- a/man/gnus.texi	Mon Aug 13 08:52:58 2007 +0200
+++ b/man/gnus.texi	Mon Aug 13 08:53:20 2007 +0200
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.4 Manual
+@settitle Gnus 5.4.28 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -287,13 +287,13 @@
 @tex
 
 @titlepage
-@title Gnus 5.4 Manual
+@title Gnus 5.4.28 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1995,96 Free Software Foundation, Inc. 
+Copyright @copyright{} 1995,96,97 Free Software Foundation, Inc. 
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -323,7 +323,7 @@
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.4.
+This manual corresponds to Gnus 5.4.28
 
 @end ifinfo
 
@@ -1816,8 +1816,9 @@
 command, you will be prompted for a file name and a file type.
 Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
 @code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs},
-@code{rfc934} and @code{forward}.  If you run this command without a
-prefix, Gnus will guess at the file type.  @xref{Document Groups}.
+@code{rfc934}, @code{rfc822-forward}, and @code{forward}.  If you run
+this command without a prefix, Gnus will guess at the file type.
+@xref{Document Groups}.
 
 @item G w
 @kindex G w (Group)
@@ -1898,6 +1899,10 @@
 followup---except that if it is present in a news group, you'll get mail
 group semantics when doing @kbd{f}.
 
+If you do an @kbd{a} command in a mail group and you don't have a
+@code{to-list} group parameter, one will be added automatically upon
+sending the message.
+
 @item broken-reply-to
 @cindex broken-reply-to
 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To}
@@ -9131,7 +9136,9 @@
 
 @vindex nnmail-expiry-wait
 The @code{nnmail-expiry-wait} variable supplies the default time an
-expirable article has to live.  The default is seven days.  
+expirable article has to live.  Gnus starts counting days from when the
+message @emph{arrived}, not from when it was sent.  The default is seven
+days.
 
 Gnus also supplies a function that lets you fine-tune how long articles
 are to live, based on what group they are in.  Let's say you want to
@@ -9755,8 +9762,9 @@
 @item nndoc-article-type
 @vindex nndoc-article-type
 This should be one of @code{mbox}, @code{babyl}, @code{digest},
-@code{mmdf}, @code{forward}, @code{rfc934}, @code{news}, @code{rnews},
-@code{mime-digest}, @code{clari-briefs}, or @code{guess}.
+@code{mmdf}, @code{forward}, @code{rfc934}, @code{rfc822-forward},
+@code{news}, @code{rnews}, @code{mime-digest}, @code{clari-briefs}, or
+@code{guess}.
 
 @item nndoc-post-type
 @vindex nndoc-post-type
@@ -13843,6 +13851,7 @@
 
 Adrian Aichner,
 Peter Arius, 
+Matt Armstrong,
 Marc Auslander,
 Chris Bone,
 Mark Borges,
@@ -13894,6 +13903,7 @@
 Shlomo Mahlab,
 Nat Makarevitch,
 David Martin,
+Gordon Matzigkeit,
 Timo Metzemakers,
 Richard Mlynarik,
 Lantz Moore,
@@ -13916,6 +13926,7 @@
 Loren Schall,
 Dan Schmidt,
 Ralph Schleicher,
+Philippe Schnoebelen,
 Randal L. Schwartz,
 Danny Siu, 
 Paul D. Smith,
--- a/man/internals/internals.texi	Mon Aug 13 08:52:58 2007 +0200
+++ b/man/internals/internals.texi	Mon Aug 13 08:53:20 2007 +0200
@@ -486,6 +486,10 @@
 version 19.12 released June 23, 1995.
 @item
 version 19.13 released September 1, 1995.
+@item
+version 19.14 released June 23, 1996.
+@item
+version 20.0 released February 9, 1997.
 @end itemize
 
 @node GNU Emacs 19
@@ -544,6 +548,18 @@
 version 19.28 (first ``official'' release) released November 1, 1994.
 @item
 version 19.29 released June 21, 1995.
+@item
+version 19.30 released November 24, 1995.
+@item
+version 19.31 released May 25, 1996.
+@item
+version 19.32 released July 31, 1996.
+@item
+version 19.33 released August 11, 1996.
+@item
+version 19.34 released August 21, 1996.
+@item
+version 19.34b released September 6, 1996.
 @end itemize
 
 @cindex Mlynarik, Richard
--- a/man/widget.texi	Mon Aug 13 08:52:58 2007 +0200
+++ b/man/widget.texi	Mon Aug 13 08:53:20 2007 +0200
@@ -1,6 +1,6 @@
 \input texinfo.tex
 
-@c $Id: widget.texi,v 1.8 1997/03/16 05:56:07 steve Exp $
+@c $Id: widget.texi,v 1.9 1997/03/18 04:23:28 steve Exp $
 
 @c %**start of header
 @setfilename widget
@@ -15,7 +15,7 @@
 @comment  node-name,  next,  previous,  up
 @top The Emacs Widget Library
 
-Version: 1.63
+Version: 1.64
 
 @menu
 * Introduction::                
--- a/src/Makefile.in.in	Mon Aug 13 08:52:58 2007 +0200
+++ b/src/Makefile.in.in	Mon Aug 13 08:53:20 2007 +0200
@@ -1221,18 +1221,20 @@
 	else true; fi
 	@touch SATISFIED
 	-$(DUMPENV) ./temacs -nl -batch -l loadup.el dump
-	@if [ -f SATISFIED ]; then \
+	@if [ ! -f SATISFIED ]; then \
 		$(MAKE) release; \
 	fi
+	@/bin/rm -f SATISFIED
 #else /* ! defined (HAVE_SHM) */
 	-if [ -w ${srcdir}/../lisp ]; then \
 	  w=`pwd`; cd ${srcdir}; $${w}/temacs -batch -l inc-vers; \
 	else true; fi
 	@touch SATISFIED
 	-$(DUMPENV) ./temacs -batch -l loadup.el dump
-	@if [ -f SATISFIED ]; then \
+	@if [ ! -f SATISFIED ]; then \
 		$(MAKE) release; \
 	fi
+	@/bin/rm -f SATISFIED
 #endif /* ! defined (HAVE_SHM) */
 	touch release
 #endif /* ! defined (CANNOT_DUMP) */
@@ -1240,9 +1242,10 @@
 xemacs: temacs ${libsrc}DOC ${lisp} MOFILE OTHER_FILES
 	@touch SATISFIED
 	-$(DUMPENV) ./temacs -batch -l loadup.el dump
-	@if [ -f SATISFIED ]; then \
+	@if [ ! -f SATISFIED ]; then \
 		$(MAKE) xemacs; \
 	fi
+	@/bin/rm -f SATISFIED
 
 xemacs-no-site-file: temacs ${libsrc}DOC ${lisp} MOFILE OTHER_FILES
 	@touch SATISFIED
@@ -1250,6 +1253,7 @@
 	@if [ -f SATISFIED ]; then \
 		$(MAKE) xemacs-no-site-file; \
 	fi
+	@/bin/rm -f SATISFIED
 
 obj_src = $(objs:.o=.c)
 
@@ -1260,7 +1264,7 @@
 ${libsrc}DOC: ${libsrc}make-docfile ${obj_src} ${lisp}
 #endif
 	rm -f ${libsrc}DOC
-	${libsrc}make-docfile -d ${srcdir} -i ${lispdir}../site-packages \
+	${libsrc}make-docfile -d ${srcdir} -i ../site-packages \
 		${obj_src} \
 	        ${mallocdocsrc} ${rallocdocsrc} ${lispdir}version.el \
 		${lisp} > ${libsrc}DOC
--- a/src/alloc.c	Mon Aug 13 08:52:58 2007 +0200
+++ b/src/alloc.c	Mon Aug 13 08:53:20 2007 +0200
@@ -2711,11 +2711,11 @@
   clear_message ();
 
   if (rc < 0) {
+    (void)unlink("SATISFIED");
     fatal ("Pure size adjusted, will restart `make'");
   } else if (pure_lossage && die_if_pure_storage_exceeded) {
     fatal ("Pure storage exhausted");
   }
-  (void)sys_unlink("SATISFIED");
 }
 
 
--- a/src/glyphs-x.c	Mon Aug 13 08:52:58 2007 +0200
+++ b/src/glyphs-x.c	Mon Aug 13 08:53:20 2007 +0200
@@ -1677,6 +1677,12 @@
 		    return GIF_ERROR;
 		}
 	    }
+
+	  /* Only get 1 image from animated gifs. */
+	  /* #### if the rest of the file was bad, we still return
+	     GIF_OK, since we don't even bother looking at it.  Should
+	     probably check for ImageCount == 1 above too, hmm. */
+	  goto done;
 	  break;
 
 	case EXTENSION_RECORD_TYPE:
@@ -1700,6 +1706,8 @@
     }
   while (RecordType != TERMINATE_RECORD_TYPE);
 
+ done:
+
   return GIF_OK;
 }
 
--- a/src/redisplay-x.c	Mon Aug 13 08:52:58 2007 +0200
+++ b/src/redisplay-x.c	Mon Aug 13 08:53:20 2007 +0200
@@ -1120,6 +1120,7 @@
   GC gc;
   XGCValues gcv;
   unsigned long pixmap_mask;
+  int need_clipping = (clip_x || clip_y);
 
   if (!override_gc)
     {
@@ -1137,14 +1138,27 @@
 	  gcv.clip_y_origin = y - pixmap_offset;
 	  pixmap_mask |= (GCFunction | GCClipMask | GCClipXOrigin |
 			  GCClipYOrigin);
+	  /* Can't set a clip rectangle below because we already have a mask.
+	     We could conceivably create a new clipmask by zeroing out
+	     everything outside the clip region.  Is it worth it? 
+	     Is it possible to get an equivalent effect by changing the
+	     args to XCopyArea below rather than messing with a clip box?
+	     - dkindred@cs.cmu.edu */
+	  need_clipping = 0; 
 	}
 
       gc = gc_cache_lookup (DEVICE_X_GC_CACHE (d), &gcv, pixmap_mask);
     }
   else
-    gc = override_gc;
+    {
+      gc = override_gc;
+      /* override_gc might have a mask already--we don't want to nuke it.
+	 Maybe we can insist that override_gc have no mask, or use
+	 one of the suggestions above. */
+      need_clipping = 0;
+    }
 
-  if (clip_x || clip_y)
+  if (need_clipping)
     {
       XRectangle clip_box[1];
 
@@ -1179,7 +1193,7 @@
 		  1L);
     }
 
-  if (clip_x || clip_y)
+  if (need_clipping)
     {
       XSetClipMask (dpy, gc, None);
       XSetClipOrigin (dpy, gc, 0, 0);